虽然许多数值计算不能用整数进行,但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
版权所有 © 2024 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号