A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

按位运算中的按位左移说高位舍弃,低位补零,我想知道这里高位与低位指的哪些位,不要告诉我左边的比右边的低,这个我知道的,我想知道的是是否有具体的哪几位,或者说按位运算的数是否长度在运算时时固定了,例如不管你输入的是1还是123456789,按位运算时的二进制位长度都是是一样的
另外,感觉自己缺少某块知识,由于经验不足,学习时间短,不在到需要补充哪一块,求指导

1 个回复

倒序浏览
比如
byte a=1;//1字节
short b=2;//2字节
int c=3;//4字节
long 和浮点就不说了
二进制这么表示的:
a:
00000001
b:
00000000 00000010
c:
00000000 00000000 00000000 00000011
高位就是最左边,低位就是最右边

java中运算时低于int4字节的数字自动提升为int类型进行运算
比如a+b,a就会变成 000000000000000000000001 +
                               000000000000000000000010
这叫隐式转换

回归正题
a<<2(左移2位)就变成
00000100
转换成十进制为4,

b>>1,高位补0,
00000000 00000001
就变成1
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马