【ISO/ANSI/JIS】 C言語なら俺に聞け! Part 132
■ このスレッドは過去ログ倉庫に格納されています
0392デフォルトの名無しさん
2007/10/25(木) 02:01:37unsigned int b = a;
こうするとbは標準Cならどんな環境でもUINT_MAXになるんですが
unsigned int b = (unsigned int)a;
こうした場合って、このキャストは
(1)aのビットパターンを無理やり unsigned int として解釈するのか (C++のreinterpret_cast)
→負数の表現が2の補数なら UINT_MAX
1の補数なら UINT_MAX-1
絶対値と符号フラグなら…いくつだ?
(2)aをunsigned int に変換するのか (C++のstatic_cast)
→環境によらず UINT_MAX
どっちでしょうか?
あいにく手元には負数の表現方法が2の補数の環境しかないので、確かめられません
■ このスレッドは過去ログ倉庫に格納されています