01.补码
Posted nutshelln
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了01.补码相关的知识,希望对你有一定的参考价值。
1.求补
0~0xFF一共256个数,此范围定义为表达范围,对于一个数A,找出另一个数B,使得 A+B==0,进位忽略不管。对A求补定义为neg(A),求补的速算是“取反加一”
例如:
0011 1100
+ 1100 0011
----------------------
10000 0000(进位不管,结果为0)
2.求补性质
若A < 0,则neg(A) > 0
若A > 0,则neg(A) < 0
若A = 0,则neg(A) = 0
3.补码表示数字时,如果为负数,则转化为补码后保存,例如:
A - B
=A + neg(B)
4.乘法示例:
A * 10110b
= A * (10000b + 100b + 10b)
=A<<4 + A<<2 +A<<1
5.除法示例:
A / c
=A * (1/c)
=A * (2^n / C) * (1 / 2^n)
=(A * (2^n / C) )>>n
此处2^n可以换成3^n,4^n,10^n
6.减法示例:
A - B
=A+ (100h - B) - 100h
=A+ neg(B) - 100h
=A+ ~B + 1 - 100h
=A+ ~B + 1 (进位丢失)
以上是关于01.补码的主要内容,如果未能解决你的问题,请参考以下文章