2007-09-25 明け方に雨、午後は晴れ [長年日記]
_ [C++] charのsingned/unsignedは何依存?
(signedもunsignedもつかない)charがsingnedかunsignedになるのかが
何依存なのか調べるためにさとゆ先生の教えに従い規格書を見てみた。
「単なる文字型(char)、符号無し文字型(unsigned char)、
符号付き文字型(signed char)は3つ別々の型とする。」
へぇ〜!
「単なる文字型オブジェクトの値を
符号付き文字型または符号無し文字型のどちらと同じにしても良い。
どちらにするかは処理系定義とする。」
JIS X 3014(2003) プログラム言語C++ 3.9.1より
追記:さとゆ先生よりコメント
ARM社の純正コンパイラはデフォで符号無し、VC++は符号ありとのこと。
昔68k→PPCの移行期に、GCCのクロスコンパイラ環境を作ったときにはまったことがあります>signed/unsigned<br><br>コンパイルオプションにはsignedをどっちで扱うかのスイッチがあると思いますので開発環境を構築するときに気をつけるところでしょうか。
>kzyさん<br>おお、コンパイルオプションにあるんですね。<br>VSもあるかな?今度見てみます。
VSにもあるよ。