首页 > 其他 > 详细

位运算

时间:2015-10-07 13:19:28      阅读:283      评论:0      收藏:0      [点我收藏+]

左移和右移都是对数据在计算机中的补码进行操作
程序执行的时候,操作的是数值的编码表示,比如说负数右移的时候是对它的补
码右移,正数右移后前面缺少的位置全部补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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!