4.4.1整数运算

虽然许多数值计算不能用整数进行,但Octave确实支持对整数进行加法和乘法等基本运算。运算符+, -, .*./处理相同类型的整数。因此,可以将两个32位整数相加,但不能将32位整数和16位整数相加。

进行整数运算时,应考虑溢出和溢出的可能性。当计算的结果不能使用所选的整数类型表示时,就会发生这种情况。例如,不可能表示的结果10 - 20使用无符号整数时。Octave确保整数计算的结果是最接近真实结果的整数。所以,结果是10 - 20当使用无符号整数时为零。

进行整数除法时,Octave会将结果四舍五入到接近目标的整数。这与大多数编程语言不同,在大多数编程语言中,结果通常被降到最接近的整数。所以,的结果int32(5)。/int32(8)1.

 
: C = idivide (A, B, op)

具有不同舍入规则的整数除法。

整数除法的标准行为,例如A./ B是将结果四舍五入到最接近的整数。这并不总是理想的行为和idivide允许对除法的小数部分进行不同处理的整数按元素除法,从op旗帜opisa字符串,其中一个值为:

修理

计算A./ B小数部分四舍五入为零。

圆形的

计算A./ B分数部分四舍五入到最接近的整数。

地板

计算A./ B分数部分向负无穷大取整。

(用熟石膏、木板等)装天花板

计算A./ B分数部分向正无穷大取整。

如果op未给定它默认为修理。演示这些舍入规则的示例是

idivide(int8([-3,3]),int8(4),“fix”)⇒   0 0除数(int8([-3,3]),int8(4),“圆形”)⇒  -1除法(int8([-3,3]),int8(4),“floor”)⇒  -1 0除法(int8([-3,3]),int8(4),“ceil”)⇒   0   1

详见: (用熟石膏、木板等)装天花板, 地板, 修理, 圆形的, 右除, rdivide.


版权所有 © 2024 Octave中文网

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