黑马程序员技术交流社区

标题: Javay移位操作的一个知识点 [打印本页]

作者: 伯爵公子    时间: 2015-7-12 10:11
标题: Javay移位操作的一个知识点
问题:

每种基本数据类型的量在内存中的表示都有固定的位数,当移动的位数超过最大位数时,是不是意味着原来数中的所有位都被移走了哪?

解答:

非也。因为Java中规定,在进行移位运算时,先约减右侧的操作数。也就是说,当左侧操作数是int类型时,右侧以32取模;当左侧操作数是long类型时,右侧以64取模。这样的规定可以保证不会讲原数中的所有位都移走。

例子:

int x = 1;
System.out.println("x>>>32"+(x>>>32));//结果为1
System.out.println("x>>>33"+(x>>>33));//结果为0
System.out.println("x>>32"+(x>>32));//结果为1
System.out.println("x>>33"+(x>>33));//结果为0


作者: 许庭洲    时间: 2015-7-15 08:51
值得学习ing!
作者: 伯爵公子    时间: 2015-7-20 07:50
许庭洲 发表于 2015-7-15 08:51
值得学习ing!

请问黑马帝,你的这个积分是怎么回事呀?
作者: 许庭洲    时间: 2015-7-20 07:57
伯爵公子 发表于 2015-7-20 07:50
请问黑马帝,你的这个积分是怎么回事呀?

什么怎么回事!!技术分还是黑马币呢!!
作者: 伯爵公子    时间: 2015-7-20 08:03
许庭洲 发表于 2015-7-20 07:57
什么怎么回事!!技术分还是黑马币呢!!

技术分和黑马币,怎么会这么高呀




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2