4.4整数数据类型

Octave支持整数矩阵作为使用双精度的替代方案。可以同时使用从8、16、32或64位表示的有符号和无符号整数。需要注意的是,大多数计算都需要浮点数据,这意味着整数在进行数值计算时经常会更改类型。因此,整数通常用于存储数据,而不是用于计算。

一般来说,大多数整数矩阵都是通过将现有矩阵强制转换为整数来创建的。以下示例显示了如何将矩阵转换为32位整数。

浮动=兰特(2,2)⇒ float=0.37569 0.92982 0.11962 0.50876整数=int32(float)⇒ 整数=0 1 0 1

可以看出,浮点值在转换时会四舍五入到最近的整数。

 
: tf = isinteger (x)

如果返回truex是一个整数对象(int8、uint8、int16等)。

请注意isinteger(14)为false,因为Octave中的数字常量是双精度浮点值。

详见: isfloat, ischar, 不合逻辑的, isstring, 非数字字符, isa.

 
: y = int8 (x)

转换x到8位整数类型。

详见: uint8, int16, uint16, int32, uint32, int64, uint64.

 
: y = uint8 (x)

转换x到无符号的8位整数类型。

详见: int8, int16, uint16, int32, uint32, int64, uint64.

 
: y = int16 (x)

转换x到16位整数类型。

详见: int8, uint8, uint16, int32, uint32, int64, uint64.

 
: y = uint16 (x)

转换x转换为无符号16位整数类型。

详见: int8, uint8, int16, int32, uint32, int64, uint64.

 
: y = int32 (x)

转换x到32位整数类型。

详见: int8, uint8, int16, uint16, uint32, int64, uint64.

 
: y = uint32 (x)

转换x到无符号32位整数类型。

详见: int8, uint8, int16, uint16, int32, int64, uint64.

 
: y = int64 (x)

转换x到64位整数类型。

详见: int8, uint8, int16, uint16, int32, uint32, uint64.

 
: y = uint64 (x)

转换x转换为无符号64位整数类型。

详见: int8, uint8, int16, uint16, int32, uint32, int64.

 
: Imax = intmax ()
: Imax = intmax ("type")
: Imax = intmax (var)

返回可以从特定整数类型表示的最大整数。

输入是字符串type指定一个整数类型,或者它是一个现有的整数变量var.

的可能值type

int8

带符号的8位整数。

int16

带符号的16位整数。

int32

带符号的32位整数。

int64

带符号的64位整数。

uint8

无符号8位整数。

uint16

无符号16位整数。

uint32

无符号32位整数。

uint64

无符号64位整数。

的默认值typeint32.

示例代码-查询现有变量

x=int8(1);intmax(x)⇒ 127

详见: intmin, 燧石.

 
: Imin = intmin ()
: Imin = intmin ("type")
: Imin = intmin (var)

返回可以从特定整数类型表示的最小整数。

输入是字符串type指定一个整数类型,或者它是一个现有的整数变量var.

的可能值type

int8

带符号的8位整数。

int16

带符号的16位整数。

int32

带符号的32位整数。

int64

带符号的64位整数。

uint8

无符号8位整数。

uint16

无符号16位整数。

uint32

无符号32位整数。

uint64

无符号64位整数。

的默认值typeint32.

示例代码-查询现有变量

x=int8(1);intmin(x)⇒ -128

详见: intmax, 燧石.

 
: Imax = flintmax ()
: Imax = flintmax ("double")
: Imax = flintmax ("single")
: Imax = flintmax (var)

返回可以在浮点值中连续表示的最大整数。

输入是指定浮点类型的字符串,或者是现有的浮点变量var.

默认类型为double但是single是一个有效的参数。在IEEE 754兼容系统上,燧石2^{53}对于double2^{24}对于single.

示例代码-查询现有变量

x=单个(1);flintmax(x)⇒ 16777216

详见: intmax, 最大正浮点数, 最小正浮点数.


版权所有 © 2024 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号