
java中3/2与3>>2的区别,两种方法的结果是一样的,但是底层上有什么区别?
1个回答
展开全部
3/2与3>>2差远了,前者结果是1,后者结果是0
3/2,是3去被2除,商是1,余数是1,如果是给int赋值,就会舍去余数,剩下商,1
3>>2是位运算,是3的二进制数右移2位,3的二进制数是0011,右移2位,结果是0000,也就是0
3/2,是3去被2除,商是1,余数是1,如果是给int赋值,就会舍去余数,剩下商,1
3>>2是位运算,是3的二进制数右移2位,3的二进制数是0011,右移2位,结果是0000,也就是0
追问
说错了,应该是3/2与3>>1的区别。
追答
也是一样
3>>1,就是3的二进制右移1位
0011右移1位,就是0001,也就是1
/是除,>>是位移,两个差很远的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询