博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
源码 补码以及反码
阅读量:4704 次
发布时间:2019-06-10

本文共 627 字,大约阅读时间需要 2 分钟。

1. 原码

原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:
    [+1]原 = 0000 0001
    [-1]原 = 1000 0001
第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是:
    [1111 1111 , 0111 1111]
    [-127 , 127]
原码是人脑最容易理解和计算的表示方式.
2. 反码
反码的表示方法是:
正数的反码是其本身
负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.
    [+1] = [00000001]原 = [00000001]反
    [-1] = [10000001]原 = [11111110]反
可见如果一个反码表示的是负数, 人脑无法直观的看出来它的数值. 通常要将其转换成原码再计算.
3. 补码
补码的表示方法是:
正数的补码就是其本身
负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)
    [+1] = [00000001]原 = [00000001]反 = [00000001]补
    [-1] = [10000001]原 = [11111110]反 = [11111111]补
对于负数, 补码表示方式也是人脑无法直观看出其数值的. 通常也需要转换成原码在计算其数值.。

转载于:https://www.cnblogs.com/zmh-980509/p/9753680.html

你可能感兴趣的文章
tomcat启动错误org.springframework.beans.factory.CannotLoadBeanClassException的解决
查看>>
在Ubuntu中安装配置java后运行java -version时提示二进制文件不能执行
查看>>
太原中软教你Java入门
查看>>
解决数据库卡死问题
查看>>
JavaScript数据类型之null和undeined
查看>>
文件首行为空白行,为什么该行字符串长度为1(line.length()=1)
查看>>
ES5初尝试Object.create
查看>>
NTP校时设置
查看>>
Perl 面对对象的案例理解
查看>>
两数组比较,筛选出不同元素(附数组去重)
查看>>
IOS学习之路十九(JSON与Arrays 或者 Dictionaries相互转换)
查看>>
多线程简单实例(2)生产者和消费者
查看>>
Git在合并时遇到unrelated history提示时无法merge
查看>>
全自动ARP实时绑定BAT文件
查看>>
如何将.class文件反编译为.java文件
查看>>
POJ 1154 LETTERS dfs
查看>>
poj 3009 Curling 2.0(dfs)
查看>>
新浪微博客户端(10)-切换多个fragment
查看>>
新浪微博客户端(12)-判断当前软件是否是新版本(是否显示新特性)
查看>>
线段树1——神奇的数据结构
查看>>