2026a

# mod


fi 对象的除后模数

函数库:TyFixedPoint

# 语法

m = mod(x,y)

# 说明

m = mod(x,y) 返回 x 除以 y 后的模数,其中 x 是被除数,y 是除数。此函数通常称为取模运算,其表达式为 m = x - floor(x./y).*y。

对于定点或整数输入参数,输出数据类型为输入符号性、字长和小数长度的聚合类型; 对于浮点输入参数,输出数据类型与输入数据类型相同;
mod 函数忽略并丢弃关联到输入的任何 fimath,输出始终与默认 fimath 相关联。

注意

不支持定点和浮点输入的组合。

# 示例

两个 fi 对象的模数

计算两个 fi 对象的 mod。

using TyFixedPoint
x = fi(-3,1,7,0);
y = fi(2,1,15,0);
m1 = mod(x,y)
m2 = mod(y,x)
1.0
 
DataTypeMode:   Fixed_point_binary_point_scaling
Signedness:     Signed
WordLength:     15
FractionLength: 0
 
 
-1.0
 
DataTypeMode:   Fixed_point_binary_point_scaling
Signedness:     Signed
WordLength:     15
FractionLength: 0
两个浮点输入的模数

将前面示例中的 fi 输入转换为双精度类型,并计算 mod。

using TyFixedPoint
x = fi(-3,1,7,0);
y = fi(2,1,15,0);
Mf1 = mod(Float64(x),Float64(y))
Mf2 = mod(Float64(y),Float64(x))
 1.0
 
-1.0

# 输入参数

x — 被除数
标量 | 向量 | 矩阵 | 多维数组

被除数,指定为标量、向量、矩阵或多维数组。x 必须为实数值整数、定点或浮点数组,或实数标量。数值输入 x 和 y 的大小必须相同或兼容。

数据类型: Float32 | Float64 | Int8 | Int16 | Int32 | Int64 | Int128 | UInt8 | UInt16 | UInt32 | UInt64 | UInt128 | fi
复数支持:

y — 除数
标量 | 向量 | 矩阵 | 多维数组

除数,指定为标量、向量、矩阵或多维数组。y 必须为实数值整数、定点或浮点数组,或实数标量。数值输入 x 和 y 的大小必须相同或兼容。

数据类型: Float32 | Float64 | Int8 | Int16 | Int32 | Int64 | Int128 | UInt8 | UInt16 | UInt32 | UInt64 | UInt128 | fi
复数支持:

# 输出参数

m — 模数运算的结果
标量 | 向量 | 矩阵 | 多维数组

模数运算的结果,以标量、向量、矩阵或多维数组形式返回。
如果输入 x 和 y 均为浮点类型,则 m 的数据类型与这两个输入的数据类型相同。如果输入 x 或 y 为定点类型,则 m 的数据类型为聚合类型 numerictype。此值等于 aggregateType(x,y) 的值。
输出 m 始终与默认 fimath 相关联。

数据类型: Float32 | Float64 | Int8 | Int16 | Int32 | Int64 | Int128 | UInt8 | UInt16 | UInt32 | UInt64 | UInt128 | fi

# 算法

fi 对象的 mod(x,y) 使用与内置 Syslab mod 函数相同的定义。

# 另请参阅

fi | aggregateType