0
点赞
收藏
分享

微信扫一扫

matlab数据类型 —— 整型

matlab数据类型 —— 整型_浮点型



文章目录

  • ​​〇、概述​​
  • ​​一、有符号整型​​
  • ​​二、无符号整型​​
  • ​​三、整型创建​​
  • ​​例1. 将数据转换成整型​​
  • ​​四、整数参与的运算​​
  • ​​1. 运算中的注意事项​​
  • ​​例2. 整型参与的数值运算​​



〇、概述

整型:是指没有小数点及以后数据部分的数据。​​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 很相似,但还是有很大的不同,比如这里就是。

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)  %整数和单精度浮点型之间不能运算

错误使用 *
整数只能与同类的整数或双精度标量值组合使用。

matlab数据类型 —— 整型_浮点型_02

举报

相关推荐

0 条评论