java中的补码运算
首页->学习资料->编程语言->java架构师教程->java基础 关键词: 发布时间:2014-12-02 17:16:47 浏览次数:2592

public class Test2_8 {
    /* 补码运算
     * 在计算机中,数值一率采用补码来运算,如:5-3实例上是5+(-3);
     * 正数与负数的关系:取反再加1
     * */
    public static void main(String args[]){
        int five=5;
        int three=-3;//从输出结果来看负数是用补码来存储的
        //输出5和-3的二进制码,最高位(最左边那位)为0表示正数,为1表示负数
        System.out.println(Integer.toBinaryString(five));//0101->+5
        System.out.println(Integer.toBinaryString(3));
        //3的二进制数0011,想要得到负3先取反得到1100再加1得到1101与下行输出匹配
        System.out.println(Integer.toBinaryString(three));//1101->-3
        //正数值是其本身
        //负数的值是这么计算的,以-3为例,先将1101取反得到0010再加1得到0011,
        //由于是负数,最高位用1表示,得到1011=-(1+2)
        /*
         * 补码运算计算规则:最高位有进位则舍弃
         * 那么5-3的结果是这么算的
         *    0101->5
         *   +1101->-3
         *   ----------
         *   10010->舍弃最高位得到0010->2
         */
    }
}


输出:

101
11
11111111111111111111111111111101

赞:(0)
踩:(0)
相关文章
for循环起名,多循环跳出之break
java数据类型
java数组定义/赋值/初始化
java中栈,堆,方法区,栈帧
java数据类型转换
java算术运算符
java逻辑运算符
java位运算
if与switch的区别
java for循环语法
热门文章
win7中将文件拷贝到虚拟机linux下
phpexcel设置行高及列宽,背景颜色,
rabbitmq无法启动
intellij idea不显示git push按钮
php7中使用mongodb的aggregate进行
laravel页面静态化的方法
centos7.4 64位下swoole安装及配置
navicate连接mycat报1184错误
curl设置超时不起作用(CURLOPT_TIM
devops-jenkins容器为pending状态
好评文章
phpexcel设置行高及列宽,背景颜色,
php7中使用mongodb的aggregate进行
intellij idea打开文件所在文件夹
windows下使用MongoDB Compass Com
win7中将文件拷贝到虚拟机linux下
laravel 中悲观锁 & 乐观锁的使用
单点登录sso原理及php实现方式及de
navicate连接mycat报1184错误
rabbitmq无法启动
laravel整合dingo/api方法步骤:jwt
标签
rabbitmq mysql备份 elasticsearch golang swoole
我的项目
【github】www.github.com/hurong241
【码云】gitee.com/hu_rong/projects
【docker hub】hub.docker.com/repositories/hurong241
【packagist】packagist.org/users/hurong241/packages
站点信息
建站时间:2011年
文章数:623篇
浏览数:1303109
粤ICP备18028092号-1  微信:hurong241