4.4整数数据类型

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

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

float = rand (2, 2)
     ⇒ float = 0.37569   0.92982
                0.11962   0.50876
integer = int32 (float)
     ⇒ integer = 0  1
                  0  1

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

 
tf = isinteger (x)

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

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

详见: isfloat, ischar, islogical, isstring, isnumeric, 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位整数。

的默认值""type""是"int32".

示例代码-查询现有变量

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

详见: intmin, flintmax.

 
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位整数。

的默认值""type""是"int32".

示例代码-查询现有变量

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

详见: intmax, flintmax.

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

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

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

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

示例代码-查询现有变量

x = single (1);
flintmax (x)
  ⇒ 16777216

详见: intmax, realmax, realmin.


版权所有 © 2024-2025 Octave中文网

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