一个关于“位移运算符 shift operators”的问题 int 类型是4bytes. -1 换用二进制是 1111 1111 1111 1111 1111 1111 1111 1111B。 向右移10位,左边加0,很容易得到答案的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是 int i=-2 换用二进制是 1111 1111 1111 1111 1111 1111 1111 1110是这样吗?基础不是很好,问的问题大家不要见怪 是的用二进制表示时最高位用0或1表示正负0表示正 1表示负(不是仅最高为1 而是所有的高位都是1)>> 是带符号右移 右移时左边补符号位>>> 是不带符号右移 右移时左边补零所以两者在处理 正数时是一样的 左边都补零但在处理负数时就有区别了 >>补1 >>>补0所以 -11111 1111 1111 1111 1111 1111 1111 1111Bi >>>= 10 后0000 0000 0011 1111 1111 1111 1111 1111B= 4194303 James服务器用数据库存储数据求解 求救!tomcat无法启动 如何在客户端用ie打开服务器端的excel spring hibernate struts错误hibernate pools错误 为什么csdn论坛好多人都不结帖???? 北京用友工程公司怎么样,听说给惠普作项目,知道的介绍一下,谢谢 关于xml和数据库查询问题,仗义大侠请进!! 请问Servlet、Java Bean、和EJB有什么区别,现在应该学习什么? java中context的用法。 一个技术问题 求助! 请看如下代码,这代码再简单不过了,可是却显示出“正在载入类hello”,有没有什么办法,不让它显示啊?救命啊!
是这样吗?
基础不是很好,问的问题大家不要见怪
用二进制表示时最高位用0或1表示正负
0表示正 1表示负(不是仅最高为1 而是所有的高位都是1)>> 是带符号右移 右移时左边补符号位
>>> 是不带符号右移 右移时左边补零所以两者在处理 正数时是一样的 左边都补零
但在处理负数时就有区别了 >>补1 >>>补0所以 -1
1111 1111 1111 1111 1111 1111 1111 1111B
i >>>= 10 后
0000 0000 0011 1111 1111 1111 1111 1111B
= 4194303