Как я могу получить другую часть после деления с помощью оператора по модулю - PullRequest
1 голос
/ 06 августа 2020

Когда я делю 13 на 3 и использую целые числа, результат будет 4. С mod (13,3) я получаю остаток 1. Но как я могу получить 4 в Matlab? Я думаю, что для этого расчета нельзя перейти на целые числа, не так ли?

Ответы [ 3 ]

1 голос
/ 06 августа 2020

Вы можете явно использовать целые числа:

result = uint32(13)/unit32(3);

Вы также можете использовать шестнадцатеричные числа:

result = 0xDu32 / 0x3u32;

Обратите внимание, что результат будет иметь тип uint32.

1 голос
/ 06 августа 2020

Используйте idivide:

result = idivide(13, 3);

Вы можете указать метод округления с помощью третьего аргумента со значением по умолчанию 'fix' или округлением в сторону нуля. Например, это будет округлено до отрицательной бесконечности:

result = idivide(13, 3, 'floor');
1 голос
/ 06 августа 2020

Вы можете использовать функцию floor:

result = floor(13/3)

Эта функция всегда округляет до меньшего целого числа

...