普段使う整数値(10進数)で、000876とは書いたりしません。左の0は意味がないもので876だからです。
これが有効数字や有効桁数(有効数字の桁数)の考え方です。
でも2進数では110と0110はまったくちがいます。10進数に変換すると値が変わる。じつは符号(+,-)もちがう。ここが2進数のポイント。
続きを読む普段使う整数値(10進数)で、000876とは書いたりしません。左の0は意味がないもので876だからです。
これが有効数字や有効桁数(有効数字の桁数)の考え方です。
でも2進数では110と0110はまったくちがいます。10進数に変換すると値が変わる。じつは符号(+,-)もちがう。ここが2進数のポイント。
続きを読む2進数から10進数へ変換するとき "1101" は "13" になるんですが、正確には不正解です。この答えはある条件下では○。
この変換結果は情報処理の試験ではよく見かけるんですが、じっさいのプログラミングではむしろ異例。プログラマーが最初に思い浮かべる答えは別にあります。
続きを読む2進数から10進数へ変換したあと、元に戻そうと10進数から2進数へ変換したら値が変わってしまう現象が起きます。
これは変換のルールだけ知っていても正しい変換ができないから。
『10進数と2進数では絶対値の考え方がちがう』ところが抜けてるよ?という話です。
続きを読む2進数 "11111111" は10進数では "255" ではあるんですが、プログラマー用の電卓では "-1" が出てびっくりすることがあります。
2進数整数のマイナス表現は意外とつまづくところです。でもこれから説明するものだけ理解できれば大丈夫。
続きを読むPHP8では、数値と文字列の非厳密な比較の結果が変わります。
非厳密とは、データの型を合わせる必要がないゆるい比較で、内部で型を強制変換して比較してくれる機能のこと。
PHP8はデータの厳密化がポイントなので比較にも影響します。個人的には型ちがいの比較はおススメしません。
続きを読む