登場人物
- NRT
猪突猛進なプログラマー
考える前に体力勝負でプログラミングするタイプ。
たまに鋭い洞察力を見せるため、
周囲からは落ち着いてさえいれば…と言われている。
- SSK
冷静沈着なプログラマー
20:80の法則に習い、実は仕事の一部分を学習に当てている。
他の人はそれに気がついていない。
Java7についても以前からチェックはしていた。
- SKR
紅一点なプログラマー
暗算は早いけど、プログラミングはそこそこ。
※登場人物は忍者ではありません。架空のプログラマーです。
新機能:Binary Literals
新機能:Binary Literals
(Javaのソースを見せる)
0x1234
NRT「ん、1,234だろ?それがどうかしたかのかよ?」
SSK「(ため息)…こんなやつが同じチームだとはな。」
NRT「な、なにを~!」
SSK「よく見ろ、頭に“0x”が付いてるだろ。」
NRT「それが?」
SSK「………この場合16進数表記になるんだよ。ほら…(エンターキーを押す)」
System.out.println(0x1234);結果:4660
NRT「何だと~!?え~と、二桁目が16×3だから、え~と、え~と…」
SSK「SKRは10秒くらいで答えていたぞ。」
NRT「さっすがSKRちゃんは優秀だってばよ!」
SSK「お前も見習え…で、次はこれだ。…別に10進数で答えなくていいからな。」
0x1234 & 0x4321
NRT「今度は間違えない!ビット演算だなぁ~………で、あれがこれで、それが~あ~だから…」
SSK「もういい、今日の話はここだ。」
NRT「どういうことだってばよ?SSK!?」
SSK「Java SE 7からは2進数が書けるようになったってことだ。
“0b”もしくは“0B”を頭につけた数は、2進数として扱われる。
つまり、さっきのはこう書き換えられる。」
0b0001001000110100 & 0b0100001100100001
SSK「改行を入れるとさらに分かりやすくなる。」
0b0001001000110100 & 0b0100001100100001
NRT「これなら簡単だってばよ!つまり、答えはこうなる!!」
0b0001001000110100 & 0b0100001100100001 // 0b0000001000100000 ←これが答え結果:544
SSK「どうやら気が付いたようだな。
このように2進数表記で書くと、読みやすくなる部分は多い。
NRTでも簡単に読めるようになるってわけだ。」
NRT「ぐっ…くやしいけどその通りだ…!
でも、何で今まで無かったんだってばよ?」
SSK「………そういえばそうだな。
難しくはないはずなんだが…」
> 結果:4460
返信削除0x1234は4660ですね。
コメントありがとうございます。
返信削除冗談抜きで助かりました…
ケアレスミスを一般公開し続けるところでした…
実際にコードは打ったはずなので、
打ち間違い…だと信じたいです。