大家好,又见面了,我是你们的朋友全栈君。
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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/190652.html原文链接:https://javaforall.cn