A和B是一个8bit有符号数,C=A*B,则C应该是一个16bit的有符号数,8bit有符号能用二进制表示的最大负数为-128,补码表示为10000000;最大正数为127,补码表示为01111111。两个最小的复数相乘(-128*-128)才会溢出,但实际工程应用中,不会在8bit数的时候取到-128,只会取到-127,所以最后A和B相乘,会是一个15bit的数据,原来的16bit数据会把最高1bit截饱和。
二进制有符号数乘法的一些想法
最新推荐文章于 2023-03-03 21:58:42 发布