举个栗子讲清楚MATLAB的定点数据类型fixdt()

本文解释了fixdt()函数参数含义,包括数据类型、位数、精度和偏置,以及无符号和有符号数据的取值范围,通过实例说明如何计算最大和最小值。

大家在进行模型仿真的时候很容易出现数据溢出的问题,尤其是对于fixdt()数据类型不清楚的童鞋,很容易就犯了和我一样的错,于是我痛定思痛花了半天时间通过仿真手段彻底搞明白了fixdt()。

设定一个定点数:fixdt(a, bits, 2^n, B),大家一定很想搞明白括号里面的东东都是代表什么意思。a表示该数值是有符号还是无符号的数据;bits是这个数据占用的空间多大;2^n是数据的精度;B是一个补偿Bias。

首先来说下这个数值的大小范围,a=0表示无符号,取值范围[0+B, (2bits-1)*2^n+B];

a=1表示有符号,取值范围[-(2(bits-1)*2^n+B), (2(bits-1)-1)*2^n+B]

好了,现在举个栗子:fixdt(1,4,2^-2,10)

1111

其中,对于无符号数据,这里一共是四位,精度是2^-2=0.25,一共四位小数占了两位,剩下的两位11(二进制)那么最大就是3,向下四位最大能表示的数据就是3.75 。

那么对于有符号的数据,这里一共是4个bit,精度是2^-2=0.25,一共四位,小数占了两位,剩下的两位其中一个要表示有无符号,那就是剩下一位1,如果是负数的话,向下取数,最大能表示-2 。向上最大能表示1.75 。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值