整数の割り算について
Posted: 2009年5月06日(水) 14:06
以下のソースコードのようにsignedの整数値をunsignedの整数値で割ると演算結果がおかしくなりました。
例:
bの変数をsignedにすれば正しく計算されるのですが、なぜunsignedで割ると値がおかしくなるのでしょうか?
またできればunsignedで割りたいのですがよい回避策をご存知の方はいませんか?
環境はMicrosoft社のVisual Studioシリーズ OSはWindows XPです。
よろしくお願いします。
例:
int a = -13; unsigned int b = 22680; int c = a / b;とするとcの値が0にならない。
bの変数をsignedにすれば正しく計算されるのですが、なぜunsignedで割ると値がおかしくなるのでしょうか?
またできればunsignedで割りたいのですがよい回避策をご存知の方はいませんか?
環境はMicrosoft社のVisual Studioシリーズ OSはWindows XPです。
よろしくお願いします。