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