使用模运算符除法后如何获得另一部分
How I can get the other part after a division with a modulo operator
当我将 13 除以 3 并使用整数时,结果将为 4。
使用 mod(13,3) 我收到余数 1。但是我怎样才能在 Matlab 中得到 4?我认为这个计算不能切换到整数,不是吗?
您可以使用floor
函数:
result = floor(13/3)
这个函数总是向下舍入到较小的整数
您可以明确使用整数:
result = uint32(13)/unit32(3);
您也可以使用十六进制数:
result = 0xDu32 / 0x3u32;
请注意,结果的类型为 uint32
。
使用idivide
:
result = idivide(13, 3);
您可以使用第三个参数指定舍入方法,默认为 'fix'
,或向零舍入。例如,这将向负无穷大舍入:
result = idivide(13, 3, 'floor');
当我将 13 除以 3 并使用整数时,结果将为 4。 使用 mod(13,3) 我收到余数 1。但是我怎样才能在 Matlab 中得到 4?我认为这个计算不能切换到整数,不是吗?
您可以使用floor
函数:
result = floor(13/3)
这个函数总是向下舍入到较小的整数
您可以明确使用整数:
result = uint32(13)/unit32(3);
您也可以使用十六进制数:
result = 0xDu32 / 0x3u32;
请注意,结果的类型为 uint32
。
使用idivide
:
result = idivide(13, 3);
您可以使用第三个参数指定舍入方法,默认为 'fix'
,或向零舍入。例如,这将向负无穷大舍入:
result = idivide(13, 3, 'floor');