2進数でマイナスの値。2進数でマイナスの値。2進数でマイナスの値。ゲーム制作-MSXマシン語講座スポンサーリンク2進数でマイナスの値を表すのはどうすればいいのか?今回は負の値について書きます。本当は、2進数のことについて書いた時の書くべきでした(~~;申し訳ないです。10進数から2進数への変換は分かると思います。00011001となります。計算をわざわざするのも面倒なので、ツールとかでパッとやってしまいます。2進数、8進数、10進数、16進数相互変換ツール計算を電卓でやるのと同じですね^^変換の仕方は、このようにします。ニャオニャオ21世紀この第2回では、2進数でマイナスの値を書いていませんでした。10進数で、-25というのを、2進数で表す方法です。それには2の補数というのを使います。11100111違いがわかりますでしょうか?説明します。-25の時、プラスの25をマイナスの25に直す感じでやります。2進数の負の値の場合、まず先頭1ビットを、1にします。25を例にやってみます。00011001↓10011001(先頭1ビットを1に)2進数の先頭ビットが1の時は、負の値。符号ありとか、2の補数でって書いてある時だけ負の値です。通常の時は、先頭ビットが1であっても負の値ではないのです。いう値が表現できません。残りの各ビットを反転します。(残りのビットを反転)最後に最終ビットに1を足します。同じ8ビットでも扱う数字が変わってきてしまいます。負の値になることがあると思いますが、そのとき、2の補数を使った値になります。演算結果が、-25のときは、11100111です。演算結果が、正か負かは、FレジスタのSフラグでわかります。Sフラグについてはこちらで書いています。ニャオニャオ21世紀2の補数については、こちらの方々の説明が詳しいです。2の補数とは?この方は、より詳しく書いています。コンピュータとマイナスの数いやー奥が深いですねぇ。計算結果はマイナスでも、その数を正と見るか負と見るかは、プログラム(を書く人)しだいなのです。この-2を正の数と見れば254である。コンピュータ自身には関係ないこの辺りが面白いですねぇ。1111110は、普通に見れば254。2の補数で見れば-2。(結果)8ビットだけでみれば、8ですし、(-2+10の答え)9桁目も数えれば、264。(254+10の答え)面白い!詳しくは上の方のサイトをご覧ください^^コンピュータというのは実によく考えられています。本当にすごい!その仕組みを学んでいくことの面白さを感じます^^まとめ負の値は、2の補数で表すことができます。2の補数というのは大変興味深いということがわかりました。詳しく知りたい方は、他のサイトにもたくさん情報がありますので、"2の補数"で検索してみてはいかがでしょうか?次回は、いつもの本で、ビット単位のデータ操作という章をやりたいと思います。822,871Amazon.co.jpで詳細を見るつづきはこちら。名作20本をレビューしてみました^^www.nyaonyao21.comPCエンジンにも買い取り価格の高いゲームがたくさんあります。はてなブログPro個人ゲームアプリ開発者のnyaonyao21です。アプリ開発・ブログ等で生活しています。