OK、これは私が今まで見たことがない奇妙な問題です。
#include <iostream>
int main()
{
char testchar = 255;
std::cout << (unsigned int)testchar << std::endl;
}
出力:
4294967295
一体何?charが「full」であるため、新しいunsigned int型を生成すると、結果も「full」になるようです。これは私が覚えている、または私が期待している結果ではありません。unsignedintの値は0x000000FFであると思います。誰かが私にここで何が起こっているのかを正確に説明できますか?
システム:Ubuntu12.0464ビット
g ++バージョン:4.6.3