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

被折叠的 条评论
为什么被折叠?



