有符号小数的表示、扩展和计算

目录

一、有符号数和无符号数的表示方法

二、小数的表示方法

三、数的扩展

 四、有符号小数的计算 


一、有符号数和无符号数的表示方法

对于n bit有符号数,其表示方法为:

对于n bit无符号数,其表示方法为:

例如,对于一个4bit数 4‘b1011,如果它是一个有符号数,其值为

如果它是一个无符号数,其值为

二、小数的表示方法

对于一个有符号数,假设数据总位宽为m,小数位宽为n,则可表示为mQn

例如10Q8,表示总位宽为10,小数位宽为8

三、数的扩展

1、整数部分扩展

整数是在高位对数进行扩展,对于有符号数来说,在高位补充符号位;对于无符号数来说,在高位补充0

例如:

对于4 bit数无符号数10,二进制表示为4‘b1010,将其扩展位6bit数,则在高位补充2 bit 0,二进制表示为6‘b001010

对于4bit有符号数-6,二进制表示为4‘b1010,将其扩展位6bit数,则在高位补充2 bit符号位,4‘b1010的符号位为1,所以在高位补充2 bit 1,表示为6‘b111010

2、小数部分扩展

小数的表示方法:

对于假设一个有符号小数6Q3,其值为6‘b101011,与十进制的转化关系:

 

 扩展方法:在低位补0

例如,将6Q3表示的6‘b101011,扩展位7Q3,为7‘b1010110

 四、有符号小数的计算 

1、加法

在计算加法之前,需要将两个数的小数点对齐,使小数位对齐,然后扩展符号位,使正数部分位宽对齐

例如5Q3 5‘b10.101 与6Q2 6‘b0110.01相加

1)小数位对齐。5Q3有3 bit 小数,6Q2有2 bit 小数,需要将6Q2的小数位扩展到3bit。 6‘b0110.01扩展为 7‘b0110.010

2)整数位对齐。5Q3有2 bit 整数,6Q2有4 bit 小数,需要将5Q3的整数位扩展到4bit。

5‘b10.101扩展为 7‘b1110.101

3)相加。注意,2个7bit数相加的结果应该用8bit表示,因此和的数据格式为8Q3

2、乘法

积的总数据位宽为两个有符号数的总位宽之和,积的小数数据位宽为两个有符号数的小数位宽之和。

即先将2个二进制数相乘,再点小数点

例如:5Q3 * 5Q3,结果为10Q6

即mQn * xQy = (m+x) Q (n+y)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值