原码补码反码

简介: 原码补码反码

可以用原码,反码,补码三种方式来表示定点整数和定点小数。还可以用移码来表示定点整数。

真值为x,则[x]原,[x]反,[x]补,[x]移分别表示真值所对应的原码,反码,补码,移码


反码:



若符号位为0,则原码与反码相同
若符号位为1,则数值位全部取反
若机器字长为n + 1位,反码整数的表示范围:
-(2^n - 1) <= x <= 2^n - 1(关于原点对称)
真值0有 +0 和 -0两种形式
[+0]原 = 00000000               [-0]原 = 10000000
[+0]反 = 00000000               [-0]反 = 11111111
若机器字长为 n + 1位,反码小数的表示范围:
-(1 - 2^ -n) <= x <=  1 - 2^-n (关于原点对称)
真值0有+0 和 -0两种形式


补码



正数的补码 = 原码
负数的补码 = 反码末位 + 1(考虑进位)
[+0]原 = 00000000               [-0]原 = 10000000
[+0]反 = 00000000               [-0]反 = 11111111
[-0]的反码+1后会产生进位,所以[+0]补 = [-0]补 = 00000000 
因为补码的真值0只有一种表示状态,原码有两种状态可以表示0
那么多出来的一种表示什么呢?
定点整数补码[x]补 = 1,0000000 表示x = -2^7
若机器字长为n + 1位,补码整数的表示范围:
-2^n  <= x <= 2^n - 1 (比原码多表示一个-2^n)
定点小数补码[x]补 = 1,0000000表示x = -1
若机器字长为n + 1位,补码整数的表示范围:
-1 <= x <= 1- 2^-n  (比原码多表示一个-1)
目录
相关文章
|
4月前
原码、反码、补码的互相转换
原码、反码、补码的互相转换
32 0
|
2月前
原码反码补码移码的介绍和计算
原码反码补码移码的介绍和计算
55 0
|
5月前
|
存储
原码,反码,补码以及计算
原码,反码,补码以及计算
23 0
【学习笔记之我要C】初识操作符和原码、反码、补码
【学习笔记之我要C】初识操作符和原码、反码、补码
46 0
|
存储
数制间的转换,原码、反码、补码
数制间的转换,原码、反码、补码
406 0
数制间的转换,原码、反码、补码
|
存储
一篇轻松带你Carry原码、反码、补码(建议收藏)
一篇轻松带你Carry原码、反码、补码(建议收藏)
170 0
原码、反码、补码
原码、反码、补码区别
116 0
正数、负数求原码、反码、补码
正数、负数求原码、反码、补码
194 0
|
Go 开发者
原码 反码 补码|学习笔记
快速学习原码 反码 补码。
63 0
|
Java
进制转换、原码、反码、补码及位运算详解
进制转换、原码、反码、补码及位运算的简单示例
487 1
进制转换、原码、反码、补码及位运算详解