C++相談室 part60
■ このスレッドは過去ログ倉庫に格納されています
0573デフォルトの名無しさん
2008/02/16(土) 21:41:48intは予想通りの動作をしたんですがunsigned intがよく分からない動作をします。
unsigned int i = 0;
unsigned int j = 0xFFFFFFFF;
unsigned int k = 0xFFFFFFFE;
unsigned int l = 0xFFFFFFFF;
i += 0xFFFFFFFF;
printf("i=%d, j=%d, k=%d, l=%d\n", i, j, ++k, +l);
これが全部-1になってしまいます。
汎整数拡張とは違うと思うのですが、理由が分かりません。
どうしてこうなるのですか?
■ このスレッドは過去ログ倉庫に格納されています