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
- 相关文章
- 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
- 我的项目
- 【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