byte b = -128;
b << 2;
原理是怎样的?
-128:11111111
上面写错了,改成
-128:10000000
位运算左移
答案:2 悬赏:60 手机版
解决时间 2021-02-21 22:17
- 提问者网友:暮烟疏雨之际
- 2021-02-20 22:51
最佳答案
- 五星知识达人网友:轻熟杀无赦
- 2021-02-20 23:48
byte实际上是unsigned char,即无符号字节型数据,
byte b=-128;实际上赋值是b=(unsigned char)(-128);赋值之后如果用无符号字节型数据输出等于二进制10000000,左移两位,高位被移除,低位补零,得到0
-128的补码形式是128的二进制数取反后加1:10000000取反01111111,加1=10000000
-1才是11111111
byte b=-128;实际上赋值是b=(unsigned char)(-128);赋值之后如果用无符号字节型数据输出等于二进制10000000,左移两位,高位被移除,低位补零,得到0
-128的补码形式是128的二进制数取反后加1:10000000取反01111111,加1=10000000
-1才是11111111
全部回答
- 1楼网友:拜訪者
- 2021-02-21 00:42
在java中位运算9左移两位结果为
36
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯