天天看点

计算机组成原理补码转源码,计算机组成原理:真值,原码,补码,反码,移码...

一,真值

就是现实中的数字(二进制)必须有+/-,实际中整数舍弃了+。spa

eg:+1101010001 -1010001111

二,原码

计算机中惟一标识一个真值,可是不能用于计算以及没法实现减法,会产生二异性(+0,-0)code

求法:正数的原码是其补全位数后前面加0,负数的原码是是其补齐位数后去掉-,在前面加1blog

eg:

真值:+10000101 -10101100

原码:010000101 110101100

三,补码

用于解决计算机没法实现减法以及原码的没法惟一标识class

求法:正数的补码是其补全位数后前面加0,负数的补码是是真数去掉-,从右到左找到第一个1左边取反,在前面加1原理

eg:

真值:+1010111 -1110101 -101010100

补码:01010111 10001011 1010101100

四,反码

到目前为止我还不知道有啥用-过渡反正我觉的很鸡肋二进制

求法:真值的反码是其补全位数后前面加0,负数的反码是其补码-1im

eg:

真值:+1010111 -1110101 -101010100

反码:01010111 10001010 1010101011

五,移码

用于解决补码没法比较大小的做用总结

求法:补码符号位取反db

eg:

真值:10100 -10100

移码:1,10100 0,01100

计算机组成原理补码转源码,计算机组成原理:真值,原码,补码,反码,移码...

六,特殊码(负数+临界)求法(定义法)

eg: 10000000(补码)

-128(真值)

1,补码1开头,确认负数 100000000

2,真值=补码-2^n+1(n为整数位数) 100000000-2^(7+1)= -1000000000 = -100000000 = -128

10000000(原码)

-0(真值)

1,10000000 = -0(真值)--- 直接变换

计算机组成原理补码转源码,计算机组成原理:真值,原码,补码,反码,移码...
计算机组成原理补码转源码,计算机组成原理:真值,原码,补码,反码,移码...

七,总结

1,若是真值大于0,其原码,补码,反码都同样img

2,本人所写为本人认为最简求法,省略了大部分原理,详细请参考计算机组成原理