if文はなぜ 変数not=false でtrueを表すことがあるか
trueが10進数で言う1を表すか、-1を表すかはプログラミング言語によって異なるから。
例えばVB.NETではTrueは32bit版ならFFFFFFFF(16進数)となって-1を表すけど、PHPだとTrueは1になる。(バージョンによるかもしれないが)
VB.NETでTrueがFFFFFFFF(16)となっているのは、CPUの処理サイズが32bit単位なら1にしようが-1にしようが確保メモリ領域のサイズは32bitで一緒だからって先輩から聞いたんですが、本当ですか?
あとがき
情報処理技術者試験で2進数の話を学んだときは「今時の実務で使うときはこないでしょ」って思ってましたが、使いました。必要です。