送分:基础问题,这一行代码什么意思? 左移位把整形值转换成32位二进制数之后不包括最高位的符号位其他位左移n位,右边补零。<<2的结果是整数乘以2的2次方 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Thingking in java里说得很清楚的,是左移操作,类似还有>>, >>>操作。 位运算左移位的时候,右边直接补零。如果是整型数据右移位的话,先转化为其补码,然后再移位。左边补的是符号位。还有一个填0右移(>>>),不管正负数,直接补0。 我不都不知道你的kRi,kTr为什么要这样定义呀!如果一个变量的值是你所说的1或2,直接把1或2赋给左边的变量不就行了呀! 你好...关于移位问题,thinking in java中有很好的解释..建议你去看看 简单的写一个程序就可以知道结果:public class Yiwei{ public static void main(String[] args) { int kRi= (1 << 2); int kTr= (1 << 0); System.out.println("kRi="+kRi); System.out.println("kTr="+kTr); }}******************输出为:kRi=4kTr=1******************<< 左移 >>右移 >>>无符号右移左移x位,就是乘2的x次方;对于正数,>>和>>>运算结果相同,右移x位相当于除以2的x次方;对于负数,二进制数的高位为1,>>和>>>的运算结果不相同,>>在移位时会复制符号位,即高位填1,例如:1111 0010>>2_____________1111 1100即:负数运算完之后仍为负数;负数在进行>>>运算时,高位填零,则运算之后为正数,且右移的位数越少,结果越大。例如:1111 0010>>>2______________0011 1100 String的问题 FileDescriptor这个类有什么作用? 使用接口式编程的好处是什么? WIN98下怎么设置JDK环境变量? 字符输出问题! 在学GUI, 学的好晕啊 ,大家来谈谈经验 在线等待??解答,快呀 使用URLConnection获取网页的问题 java链接SYBASE11.9汉字的问题(又不行了) 格式化浮点数? 100分问大家知道扩展名为WD3的文件吗? 速求java电梯模拟程序
>>, >>>操作。
如果是整型数据右移位的话,先转化为其补码,然后再移位。左边补的是符号位。
还有一个填0右移(>>>),不管正负数,直接补0。
public class Yiwei
{
public static void main(String[] args)
{
int kRi= (1 << 2); int kTr= (1 << 0);
System.out.println("kRi="+kRi);
System.out.println("kTr="+kTr); }
}
******************
输出为:
kRi=4
kTr=1
******************<< 左移 >>右移 >>>无符号右移左移x位,就是乘2的x次方;对于正数,>>和>>>运算结果相同,右移x位相当于除以2的x次方;
对于负数,二进制数的高位为1,>>和>>>的运算结果不相同,>>在移位时会复制符号位,即高位填1,例如:
1111 0010>>2
_____________
1111 1100
即:负数运算完之后仍为负数;负数在进行>>>运算时,高位填零,则运算之后为正数,且右移的位数越少,结果越大。
例如:
1111 0010>>>2
______________
0011 1100