java变量byte=(byte)150;为什么结果会给你-106。是把150补码转成了原码对吗


TA获得超过1024个认可

间的运算和有变量的运算

只要右边的值不超过左边类型的范

你对这个回答的评价是

byte特殊 会自动转换的 记住这个特殊的就可以了,如果你写byte b =128就报错了

你对這个回答的评价是


不是,byte和int是同一级的数据类型都是基本的数据类型

你对这个回答的评价是?


TA获得超过1527个认可

王建说不知道你找邓鴻去吧

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

本测试题型为选择题分值设置100*1 = 100汾

1.下列关于Java语言的特点,描述错误的是()

A.Java是跨平台的编程语言B.Java支持分布式计算C.Java是面向过程的编程语言D.Java支持多线程

2.Java的三个版本不包括下列哪一项()

3.下列哪项不是Java关键字()

4.下面哪个是Java语言中正确的标识符()

5.关于Java基本类型下列说法正确的是()

B.char是字符类型,char中能存放一个中文

C.long是长整形占用4个字节

D.String是字符串类型,能存放无限长度的内容

6.下列写法正确的是()

7.Java中注释的写法错误的是()

8.下列书写囸确的是()

9. 运算:-10%3的结果是()

10.下列代码的执行结果是:

156 =0 B(第一个零位符号位表示正,當然int型数值位前面还有N个0略去)
所以转换为byte,符号位被丢弃(N个0也被丢弃)
结果为1 0011100B(此时,第一位符号位为1为负),
由于负数按补碼存储所以转换为byte之后的真值为1 1100100(由补码求原码,按位取反末位加1)即-100

我要回帖

 

随机推荐