Main Content

nearestDiv

将除法的结果向最接近的整数舍入

自 R2021a 起

说明

示例

y = nearestDiv(x,d) 返回 x/d 舍入到最接近的整数值的结果。

示例

y = nearestDiv(x,d,m) 返回 x/d 舍入到 m 的最接近倍数的结果。

计算 y 的数据类型,使得在给定数据类型 x 以及 dm 值的情况下,字长和小数长度的大小足以包含最大和最小可能解。

示例

全部折叠

执行除法运算并舍入到最接近的整数值。

nearestDiv(int16(201),10)
ans = 
    20

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 13
        FractionLength: 0

执行除法运算并舍入到最接近的 7 的倍数。

nearestDiv(int16(201),10,7)
ans = 
    21

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 13
        FractionLength: 0

定义一个使用 Div 的函数。

function y = nearestDiv_example(x,d)
y = nearestDiv(x,d);
end

定义输入并在 MATLAB® 中执行该函数。

x = fi(pi);
d = fi(2);
y = nearestDiv_example(x,d)
y = 
     1

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 2
        FractionLength: 0

要为此函数生成代码,分母 d 必须定义为常量。

codegen nearestDiv_example -args {x, coder.Constant(d)}
Code generation successful.

您也可以在代码体中将分母 d 定义为常量。

function y = nearestDiv10(x)
y = nearestDiv(x,10);
end
x = fi(5*pi);
y = nearestDiv10(x)
y = 
     1

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 2
        FractionLength: 0
codegen nearestDiv10 -args {x}
Code generation successful.

输入参数

全部折叠

被除数,指定为标量。

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

除数,指定为标量。

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

要舍入到最接近其倍数的值,指定为标量。

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

输出参量

全部折叠

除法和向下舍入的结果,以标量形式返回。

计算 y 的数据类型,使得在给定数据类型 x 以及 dm 值的情况下,字长和小数长度的大小足以包含最大和最小可能解。

扩展功能

版本历史记录

在 R2021a 中推出

另请参阅

| |