私の関数では、最初に次のようにmodを使用します。
void function(int, int, unsigned int);
呼び出し:
function(100, 200, get_value() % 1024);
は、 0から。get_value()まで変化するunsignedintを返します。この状況では、それよりも非常に大きな数が実行される回数が多すぎる可能性があるため、次のように変更しました。0x0xffffffffget_value() % 10241024function()
unsigned int num = get_value() % 1024;
function(100, 200, num);
この状況でnumは、大丈夫です。以前gccはコンパイルしていました。
では、これら2つの方法の違いは何ですか?Cはどのように係数を計算しunsigned longますか?