Main Content

idivide

带有舍入选项的整除

说明

示例

C = idivide(A,B)A 的每个元素除以 B 的对应元素,朝零方向舍入到最接近的整数。AB 必须包含实数,并且其中有至少一个必须属于整数类。

  • 如果 AB 是数组,则它们必须属于同一整数类,并且大小兼容。

  • 如果 AB 是双精度标量,则另一个输入必须为整数类,但不能是 int64uint64。然后,idivide 函数以相同的整数类形式返回 C

示例

C = idivide(A,B,opt) 指定替代舍入选项:'fix''floor''ceil''round'。例如,idivide(A,B,'ceil') 将商朝正无穷方向舍入到最接近的整数。默认舍入选项是 'fix'

示例

全部折叠

创建整数数组 A 和整数标量 B。将 A 的每个元素除以 B,朝零方向舍入到最接近的整数。

A = int16([-7 -4 7 11]);
B = int16(10);
C = idivide(A,B)
C = 1x4 int16 row vector

   0   0   0   1

创建两个整数数组 AB。将 A 的每个元素除以 B 的对应元素,朝零方向舍入到最接近的整数。

A = int64([-2 3]);
B = int64([3 5]);
C = idivide(A,B)
C = 1x2 int64 row vector

   0   0

创建双精度标量 A 和整数数组 B。用默认舍入选项 'fix'A 除以 B 的每个元素。

A = 2.0;
B = int32([-3 3 4]);
C = idivide(A,B)
C = 1x3 int32 row vector

   0   0   0

将结果与使用其他舍入选项时的结果进行比较。

C = idivide(A,B,'floor')
C = 1x3 int32 row vector

   -1    0    0

C = idivide(A,B,'ceil')
C = 1x3 int32 row vector

   0   1   1

C = idivide(A,B,'round')
C = 1x3 int32 row vector

   -1    1    1

输入参数

全部折叠

分子,指定为标量、向量、矩阵或多维数组。整数输入 AB 必须大小相同或大小兼容。例如,AM×N 矩阵,B 是标量或 1×N 行向量。有关详细信息,请参阅基本运算的兼容数组大小

如果 A 是双精度标量,则 B 必须为整数类,但不能是 int64uint64

数据类型: double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

分母,指定为标量、向量、矩阵或多维数组。整数输入 AB 必须大小相同或大小兼容。例如,AM×N 矩阵,B 是标量或 1×N 行向量。有关详细信息,请参阅基本运算的兼容数组大小

如果 B 是双精度标量,则 A 必须为整数类,但不能是 int64uint64

数据类型: double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

舍入选项,指定为 'fix''floor''ceil''round'

  • 'fix' 朝零方向舍入到最接近的整数,这相当于删除小数点后的所有位数。

  • 'floor' 朝负无穷方向舍入到最接近的整数。

  • 'ceil' 朝正无穷方向舍入到最接近的整数。

  • 'round' 舍入到最接近的整数。如果元素的小数部分恰好为 0.5,则它朝偏离零的方向舍入到模更大的整数。

输出参数

全部折叠

整数解,以标量、向量、矩阵或多维数组形式返回。如果 AB 为整数数据类型,则 C 是相同的整数数据类型。

数据类型: int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

提示

  • 对于整数数据类型,函数 idivide(A,B,'round')A./BB.\A 相同。参数 optA./BB.\A 提供除以整数时的舍入选项。

  • MATLAB® 不支持复整数除法。

扩展功能

版本历史记录

在 R2006a 中推出

另请参阅

| | | | |