
2進数の0000 1101 1101 1100を8進数にする際、8進数は3bit単位で処理されているので、
0を二つ付け足して
000 000 110 111 011 100
とします。
ここからどう計算すると006734(8進数「)となるのでしょうか。
もちろん000が上一桁目の0、次の000が0、110が6、111が7、011が3、100が4ですが、
これはどのように計算してはじき出したものですか。
2進数→10進数→8進数ではじきだしたものですか、それとも何かこの数字が来たときはこの値、のような対応表のようなものがあり暗記するのでしょうか。
No.5ベストアンサー
- 回答日時:
「補足」の方への回答です。
>①逆に16進数から2進数に、8進数から2進数にというときも暗記で行けますか?
暗記するまでもなく、ちゃんと
8進数=2進数の3桁
16進数=2進数の4桁
の計算ができれば簡単でしょう。ただし、16進数を
0~9、A(=1010), B(=1011), C=(1100), D(=1101), E(=1110), F(=1111)
と表記することを知っていないといけませんが。これは、暗記ではなく、たとえば「D」(10進数で「13」)なら
13 = 1 * 2^3 + 1 * 2^2 + 0 * 2^1 + 1 * 2^0
= 1 * 8 + 1 * 4 + 0 * 2 + 1 * 1
と計算できればよいだけです。
>②また、これ以外(2⇔8、2⇔16)にもこのような変換がし易くなるやり方はあるのでしょうか。
上のように、「n 進数の abcdefg」という数値は、10進数の
abcdefg [n] = a * n^6 + b * n^5 + c * n^4 + d * n^3 + e * n^2 + f * n^1 + g * n^0 [10]
と表記できることさえ知っていれば、何進数であっても自在に変換できます。
「2進数」「8進数」「16進数」の場合には、たまたま
n = 16 = 2^4
n = 8 = 2^3
n = 2
のような関係なので、10進数を経由しなくとも、簡単に直接変換できるわけです。
たとえば
abcdefg [2] = a * 2^6 + b * 2^5 + c * 2^4 + d * 2^3 + e * 2^2 + f * 2^1 + g * 2^0 [10]
= [a] * 2^6 + [b * 2^2 + c * 2^1 + d * 2^0] * 2^3 +[e * 2^2 + f * 2^1 + g * 2^0] * 2^0 [10]
= [a] * 8^2 + [bcd] * 8^1 +[efg] * 8^0 [10]
= [a][bcd][efg] [8]
ですから、数字列の [a], [bcd], [efg] を各々「2進数3桁」の「8進数表記」で書けばそのまま8進数になります。
No.4
- 回答日時:
Windows の場合、特定ドライブを隠したい時にレジストリを編集します。
A:→1, B:→2, C:→4, D:→8 ...
のようにビットを立てた値を16進数で
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDrives (REG_BINARY)
に書き込みます。例えば、O: ドライブを隠したければ、
00 40 00 00
とします。
2進数と16進数の相互変換は私にとって日常的な計算です。10進数←→16進数は間に2進数を介在させることでなんとか暗算できてます。
8進数は、Linux のパーミションとか od コマンド以外ではあまり利用しないので暗算で変換したことはありません。
他に、7bit ASCII コードは暗記してますね。
No.2
- 回答日時:
8進法が3ビットをわかるのが凄いですね!
2進法を10進法に直すのに、例えば、
111 【2】は、1・2^2 +1・2^1 +1・2^0=4+2+1=7 ですが、
8法でも、7までなら問題ないのですが、
1000 【8】は、8はないので、10ですね!
ですから、この場合、3ビット計算ですので、1000は考えられないので、
3ビットに、区切って、2→10進法に直す計算をすればいいと思います。
No.1
- 回答日時:
2進法から直接8進法にしていると思います。
100(2進法)を例にとります。これは 1x2^2 + 0x2^1 +0x2^0 =4を意味します。
それぞれの3桁を同様に計算・換算すると答を得ます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
100以下の自然数のうち、次のよ...
-
エクセル関数で源泉徴収額を計...
-
エクセルでのシグマ計算
-
エクセルで60進法計算の仕方...
-
(3)、(4)の解説をお願いし...
-
公務員試験の問題
-
10分の1は「10/1 それとも1/10...
-
50以下は“50”も入るのですか?
-
1億x1億はいくらでしょうか?
-
【機械図面】 最大値・最小値...
-
実績を積むという表現
-
「最大300字程度」
-
Excel 16進数
-
高校数学 式変形
-
「充足に達しましたので」これ...
-
アクセスのデータ型。数値型に...
-
5進法を10進法への直し方
-
0.1と0.10の違いを教えて下さい。
-
言葉遣いについて ○○を取りに行...
-
ACアダプターの消費電力の件
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報
皆様、ご回答どうもありがとうございます。
ここで追加の質問をさせてください。
①逆に16進数から2進数に、8進数から2進数にというときも暗記で行けますか?
②また、これ以外(2⇔8、2⇔16)にもこのような変換がし易くなるやり方はあるのでしょうか。