源码,反码以及补码
Posted 芬乐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了源码,反码以及补码相关的知识,希望对你有一定的参考价值。
原码:如果机器字长为n,那么一个数的原码就是用一个n位的二进制数,其中最高位为符号位:正数为0,负数为1。剩下的n-1位表示该数的绝对值。
反码:对于正数,反码与原码相同;对于负数,符号位不变,其数值位取反(1变0,0变1)。X的反码通常用【X】反来表示。
补码:对于正数,补码与原码相同;对于负数,符号位不变,其数值位绝对值取反后在最低位加1。
*正数的原码,反码,补码都是一样的。
*负数的补码需要原码取反加1,高位不变。
补码变原码也是取反加1,高位不变。
1.在计算机中,数值一律用补码存储。
- 主要原因:使用补码,可以将符号位和其他位统一处理;同时,减法也可安家发来处理。
- 另外,两个用补码表示的数相加时,如果是高位有进位,则进位被舍弃。
2.采用原码表示法
- 优点:简单易懂
- 缺点:运算复杂,因为,当两数相加时,如果是同号,则数值相加。若是异号,则要进行减法,在进行减法的同时还要比较绝对值的大小,,然后大数减小数,最后还要给结果选择符号,
以上是关于源码,反码以及补码的主要内容,如果未能解决你的问题,请参考以下文章
(转)java 原码反码补码计算 以及 取反运算,原码反码补码运算公式