社区
非技术区
帖子详情
">>>"是个什么运算符号?
dd121011
2009-04-30 04:06:49
偶尔看到这么一个小程序:
public String compare(Integer x,Integer y){
String [] buf={"=>"," <"};
int id1=(x-y)>>>31;
System.out.println(id1);
return buf[id1];
}
里面的这个运算符怎么没见过啊。。
...全文
226
6
打赏
收藏
">>>"是个什么运算符号?
偶尔看到这么一个小程序: public String compare(Integer x,Integer y){ String [] buf={"=>"," >>31; System.out.println(id1); return buf[id1]; } 里面的这个运算符怎么没见过啊。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
GeekZFZ
2009-04-30
打赏
举报
回复
“>>>”无符号右移的规则与右移差不多,不同之处在于不管最高位是1是0,全部用0填充。
1>>n =2的n次方分之一
字母哥哥
2009-04-30
打赏
举报
回复
>>> 右移,左边空出的位以0填充
下面用二进制形式进一步说明该操作:
11111111 11111111 11111111 11111111 int型-1的二进制代码
>>> 24 无符号右移24位
00000000 00000000 00000000 11111111 int型255的二进制代码
Despereaux
2009-04-30
打赏
举报
回复
右移
hiboys
2009-04-30
打赏
举报
回复
和>>类似,一个是带符号移位一个是不带符号移位
galant2008
2009-04-30
打赏
举报
回复
右移位运算符
dd121011
2009-04-30
打赏
举报
回复
见过的朋友指点下哦。。~~
java位运算之——有符
号
右移>>,无符
号
右移>>>
计算机表示数字正负不是用+ -加减
号
来表示,而是用最高位数字来表示,0表示正,1表示负 1.有符
号
右移>>(若正数,高位补0,负数,高位补1) 正数:例如4>>2 首先写出4的二进制数,因为是正数所以最高位为0,也就是第一个 0000 0000 0000 0000 0000 0000 0000 0100 右移两位得到(高位补0) 000000 0000 0000...
java 位运算之无符
号
右移>>> 有符
号
右移>>
java 无符
号
右移>>> 有符
号
右移>>
java c
运算符
_Java,C 位移
运算符
有符
号
右移>>与无符
号
右移>>>
个人博客 地址:https://www.wenhaofan.com/a/20181029232749有符
号
右移正数有符
号
右移首先计算4>>2将4转为二进制0000 0100右移两位,符
号
位为0,所以高位置0得0000 0001转二进制得 1所以 4>>2 =1负数有符
号
右移再来计算-4>>2首先我们需要取得-4的补码 补码为反码+1反码为正码按位取反由正码000...
>>> java的扩展移位
运算符
无符
号
右移
移位
运算符
面向的运算对象也是二进制的“位”。可单独用它们处理整数类型(主类型的一种)。左移位
运算符
(>)则将
运算符
左边的运算对象向右移动
运算符
右侧指定的位数。“有符
号
”右移位
运算符
使用了“符
号
扩展”:若值为正,则在高位插入0;若值为负,则在高位插入1。Java也添加了一种“无符
号
”右移位
运算符
(>>>),它使用了“零扩展”:无论正负,都在高位插入0。这一
运算符
是C或C++没有的。 若对char,
关于负数的右移>>与无符
号
右移>>>运算小结
对于带符
号
右移,若为负数,则在存储时首位表示符
号
位,其值为1,表示该值是负数的移位,在移位过程中,高位补1,若符
号
位是0,表示是正数,在移位过程中高位补零,两者的前提是符
号
位保持不变: ...
非技术区
23,404
社区成员
70,511
社区内容
发帖
与我相关
我的任务
非技术区
Java 非技术区
复制链接
扫一扫
分享
社区描述
Java 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章