1. 整型数据的申明或转换
matlab里默认都是double型数据,想要使用16位有符号整数,则需要用如下命令进行转换
b = int16(a);其它类型的函数都是相似的,如int, int16, int32, int64, uint8, uint16, uint32, uint64
当参数大于16位有符号整数时,会自动被截断
>> int16(100000)
ans =
32767
>> int16(-100000)
ans =
-32768
如果有小数部分,则会四舍五入
>> int16(5.5)
ans =
6
2 运算
整型数据与其它型数据的运算,会先以double型数据进行计算,再转回整型数据
>> int16(5)*0.3
ans =
2
3 整型数据检查
可以使用isa命令检查数据类型
>> a=int16(323)
a =
323
>> isa(a,'int16')
ans =
1
4 整型数据的表示范围
>> intmax('int16')
ans =
32767
>> intmin('int16')
ans =
-32768
注意返回的值也是对应的整型数据
5 转回double型数据
为了提高精度,最好还是在double精度下进行各种运算
c = double(b);
这篇博客介绍了MATLAB中如何声明和转换16位有符号整型数据,包括数据截断、四舍五入规则。同时,讨论了整型与其他数据类型的运算规则,以及如何使用isa命令检查数据类型。还提到了整型数据的表示范围和如何将整型数据转回double型以确保精度。

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



