cman.jp >
Web便利ノート > 変換・計算 > 2,8,10,16進数 計算・変換
2進数⇔8進数⇔10進数⇔16進数 計算(マイナス,小数点対応)
分かっているようで分かっていない(忘れている)、n進数の変換にご利用ください。
変換の中間計算式も表示していますので、情報処理試験の勉強などでもご利用いただけます。
当サイトの計算(変換)は、8bit単位となります。また、整数部と小数部は4bit単位の計算(変換)を行っています。
また、2進数・8進数・16進数の小数点表示も便宜上、固定小数の「.」(ドット)で表記しています。
実際には、ほとんどの言語で小数は浮動小数となりデータの持たせ方が変わりますのでご注意ください。
2進数⇔8進数⇔10進数⇔16進数 計算・変換
32bitを超えたため、小数点 以下の一部を削除しました
2進数 | 1111 0011 . 1011 0011 0011 0011 0011 0100 |
8進数 | 363.54631464 |
10進数 | -12.3 (求めた2進数から再計算すると、-12.2999999523162842) |
16進数 | F3.B33334 |
0.入力値
属性 | 変換元の値(=入力) | 桁合わせ |
10進数(符号付き) | -12.3 | 自動調整 |
1.「入力10進数 → 2進数」
(1) 10進数を整数部と小数部に分ける
10進数を2進数に変換する場合、整数部と小数部で計算方法が異なる。このため整数部と小数部を分割する。
(2) 10進数(整数部)を2進数に変換する。
(3) 10進数(小数部)を2進数に変換する。
(4) 2進数の桁合わせを行う
当サイトでは以下の基準で桁合わせを実施している。
・整数部は 最低8bit
・小数部は最低4bit
・整数部+小数部=8bit or 16bit or 24bit or 32bit or 64bit
2進数(計算値) | 1 | 1 | 0 | 0 | . | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
自動で32bitと判定し桁合わせ行う
赤字部分を追加して桁合わ せする
2進数(桁合わせ後) | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | . | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
(5) 入力値がマイナスのため、2進数をマイナス値に変換する
10進数は数値の先頭に「-」を付けることでマイナス符号を管理しているが、2進数・8進数・16進数は先頭bitが「1」でマイナスを管理している。
上記計算で10進数より求めた2進数はマイナスが考慮されていない。このため、2進数を2の補数によりマイナス変換する 。
2進数(上記で計算) | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | . | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
2の補数にて2進数をマイナスに変換する
2の補数計算は
こちらでご確認ください
2進数 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | . | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 |
上記により2進数は以下の通りとなる。
2進数 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | . | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 |
2.「2進数 → 8進数」
(1) 8進数変換のため、3bit単位に桁合わせを行う
8進数は3bit単位で管理されている。上記で求めた2進数を3bit単位に 桁合わせを行うことで、8進数に簡単に置き換えが可能となる。
2進数(上記で計算) | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | . | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 |
整数部、小数部をそれぞれ3bit単位に桁合わせを行う
赤字部分を追加して桁合わせする
2進数(3bit合せ) | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | . | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 |
(2) 3bit単位に8進数に置き換える
3.「2進数 → 16進数」
(1) 4bit単位に16進数に置き換える
ページTOP