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);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);
温馨提示:答案为网友推荐,仅供参考