matlab系列文章:👉 目录 👈
〇、概述
整型:是指没有小数点及以后数据部分的数据。1
、232
、-8321
都是整型,-1.32
、3.322
、4.21
等部分的不是整型。
Matlab 中提供了两种整数类型,有符号整型 与 无符号整型。
-
有符号整型 可分为
int8
、int16
、int32
、int64
; -
无符号整型 可分为
uint8
、uint16
、uint32
、uint64
。
一、有符号整型
有符号整型 是一般是指带有正负号的整型。
类型 | 函数 | 范围 |
---|---|---|
有符号8位整数 | int8 | -27 ~ 27-1 |
有符号16位整数 | int16 | -215 ~ 215-1 |
有符号32位整数 | int32 | -231 ~ 231-1 |
有符号64位整数 | int64 | -263 ~ 263-1 |
二、无符号整型
无符号整型 是指没有正负号的整型,也就是只包含 0 和 正数 的整数。
类型 | 函数 | 范围 |
---|---|---|
无符号8位整数 | uint8 | 0 ~ 28-1 |
无符号16位整数 | uint16 | 0 ~ 216-1 |
无符号32位整数 | uint32 | 0 ~ 232-1 |
无符号64位整数 | uint64 | 0 ~ 264-1 |
三、整型创建
由于 Matlab 中数值的默认存储类型是 双精度浮点型,因此必须通过上表中的函数将其转换成指定类型的整型。
例1. 将数据转换成整型
>> x = 32
x =
32
>> >> y=int32(-32.1) %转换成有符号整型
y =
int32
-32
>> z=uint32(-32.1) %转换成无符号整型
z =
uint32
0
>> whos
Name Size Bytes Class Attributes
x 1x1 8 double
y 1x1 4 int32
z 1x1 4 uint32
>> %可以看到 x 的默认数据类型为double(双精度浮点型),需要对其进行类型转换才能将其变换成其它数据类型
- 如果不理解,可以把
x=数据类型(数值)
当作对其赋值给了相应数据类型的值。举个例子,x=32
和x=double(32)
是相同的,就当 matlab 默认将x变成了 double 类型的值。
四、整数参与的运算
如果你之前学过 C语言、Java、Python 等等语言,建议牢记 matlab 中的运算规则。虽然 matlab 是一种解释型语言,和 Python 很相似,但还是有很大的不同,比如这里就是。文章来源:https://www.toymoban.com/news/detail-456890.html
1. 运算中的注意事项
- matlab 中相同的整数类型运算,结果仍是该种整数类型。
- matlab 中不同类型的整数类型之间不能运算,强转之后即可。
- matlab 中整型与 双精度浮点型(单精度不行…)做数学运算结果仍是整型。(C语言等其它语言应该会变成双精度浮点型)
例2. 整型参与的数值运算
>> a=int16(32)*int16(33) %同种整数类型运算结果仍为该种整数类型
a =
int16
1056
>> b=int16(32)*int32(33) %不同整数类型之间不能运算
错误使用 *
整数只能与同类的整数或双精度标量值组合使用。
>> c=int16(32)*double(33) %整数与双精度浮点型之间可以运算
c =
int16
1056
>> c=int16(32)*single(33) %整数和单精度浮点型之间不能运算
错误使用 *
整数只能与同类的整数或双精度标量值组合使用。
文章来源地址https://www.toymoban.com/news/detail-456890.html
到了这里,关于matlab数据类型 —— 整型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!