FIxed Pnt.Long 4 Byte (fi32) 问题

fi

  1. 定点数是由整数和小数部分组成
    • 定点数通过固定的小数位来表示小数部分。例如,32位定点数可以有16位小数位,意味着它可以表示从0
  2. 可以表示内容
    • 当没有小数字位时,fi类型的数值就表示整数。
  3. 具有字长和小数位
    • fi最初的设想有两个
      • 字长(Word length):表示定点数共有多少位(例如,
      • 小数位(Fraction length):表示小数部
  4. 可以是带符号数或无符号数

1. 创建一个整数fi类型(没有小数)
% 创建一个 16 位带符号定点数,整数部分最大为 16 位,小数部分为 0 位
fiInteger = fi(100, true, 16, 0);  % 16 位带符号数,0 小数位

disp(fiInteger);  % 输出整数的定点表示
fiInteger将是一个整数
2. 创建一个带标记的小数字部分fi类型(定点小数)
% 创建一个 16 位带符号定点数,整数部分最大为 8 位,小数部分为 8 位
fiDecimal = fi(3.14159265, true, 16, 8);  % 16 位带符号数,8 小数位

disp(fiDecimal);  % 输出带小数部分的定点数
fiDecimal将是一个定点小数,具有小
3. 创建一个无符号整数的fi类型
% 创建一个无符号定点数,字长为 16 位,没有小数位
fiUnsignedInteger = fi(255, false, 16, 0);  % 16 位无符号数,0 小数位

disp(fiUnsignedInteger);  % 输出无符号整数的定点表示
  • fiUnsignedInteger是一个无符号整数

matlab读取fi类型数据

% 打开文件
fileID = fopen('data.bin', 'r');

% 使用 fread 读取 32 位带符号整数数据
rawData = fread(fileID, 'int32');  % 读取整数数据,假设是 32 位整数

% 关闭文件
fclose(fileID);

% 将读取的原始数据转换为定点数(假设是 32 位带符号定点数,16 位小数)
fiData = fi(rawData, true, 32, 16);  % true 表示带符号,32 位字长,16 位小数

% 显示定点数数据
disp(fiData);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值