标签:
左移和右移都是对数据在计算机中的补码进行操作
程序执行的时候,操作的是数值的编码表示,比如说负数右移的时候是对它的补
码右移,正数右移后前面缺少的位置全部补0,负数右移后前面缺少的数据全部
补1;
package computerArea; public class ComputerArea { public static void main(String[] args){ int i = -100, j = -100, a, b, c, d; a = i << 1; b = i << 2; c = j >> 1; d = j >> 2; System.out.println("-100左移一位"+a+"\t-100左移两位"+b); System.out.println("-100右移一位"+c+"\t-100右移两位"+d); } }
按位与和按位或当然也是这样啦,都是对数据在计算机中的存储的形式直接进行的操作
package computerArea; public class ComputerArea { public static void main(String[] args){ int i = 100, j = -10, k, l; k = i & j; l = i | j; System.out.println("100 & -10 = "+k); //输出100 System.out.println("100 | -10 = "+l); //输出-10 } }
标签:
原文地址:http://www.cnblogs.com/rain-1/p/4858485.html