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