• ベストアンサー

2進数をの乗数?を16進数に直すやり方を教えてください

2進数の掛け算を16進数に変換する方法を教えてください。 (1011 1111 0101)×(0011)というものです。 これは、 (11 15 5)×(3)で、 11155×3=33465→これを16進数に変換する つまり、16で割っていけばよいのでしょうか? 無知なものですいません。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#231526
noname#231526
回答No.3

まず何をしたいのかを明確にしてください。 私が文面から読み取った限りでは、下の二つのいずれかだと思うのですが。 (1)二進数であらわされた二つの数の積を二進数で計算し、その結果を十六進数で表現する。 (2)二進数であらわされた二つの数をまず十六進数に直し、その二つの数の積を十六進数で計算する。  その他の可能性としては、二つの数が二進数で与えられている。どういう方法でも良いからその二数の積を求め、その結果は十六進数であらわす。  とりあえず、一番楽そうなので(1)でやってみます。 (ステップ1) 二進数で積を求める。  これは簡単で、要するに、1 0111 1110 1010(2) + 1011 1111 0101(2) なので、10 0011 1101 1111(2) (ステップ2) この二進数を十六進数に変換する。  これも別に難しいところはなく、4桁ごとに十六進数にするだけです。結果は4桁の十六進数で、23DF(16) となります。 (2)の方は、十六進数の九九が要りますね。九九というか、十六十六というか。少なくとも3の段が必要。  0 3 6 9 C F 12 15 18 1B 1E 21 24 27 2A 2D  これを使って、BF5(16) × 3(16) を計算するだけ。2100(16) + 2D0(16) + F(16) = 23DF(16) (3)だと例えば、全部十進数にしてから計算して、十六進数にするとか。かえって面倒な気がしますけど。3061 × 3 = 9183。これを16で割っていくという方法で十六進数に変換すると、23DF(16) 。やっぱり一番計算量が多いですね。  

taro82
質問者

お礼

詳しい解説ありがとうございます。できました!! 感激です。色々試してみたいと思います。

その他の回答 (2)

noname#102481
noname#102481
回答No.2

(11 15 5)×(3)がなんだかわからない どうせなら(11 15 05)としてほしいものですw 2進数の掛け算は足し算で計算可能です、詳しくは教科書を参照のこと

taro82
質問者

お礼

足し算でも計算可能なんですね。

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

なにか勘違いしていますね (1011 1111 0101)×(0011)  と (11 15 5)×(3)  は 違うものですよ この場合は (11×16^2+ 15×16^1 5×16^0)×(3) になります こうすると計算が面倒ですから、根本的に間違っていたという事で忘れてください 2進数の掛け算…そのまますればいいじゃないですか ぜんぜん楽チンですよ 例えば10進数の計算で、123×11 はどのように計算しますか?  123×10+123×1 と分解して  1230 + 123  ̄ ̄ ̄ ̄ としませんか? これと同じです (1011 1111 0101)×10 +(1011 1111 0101)×1  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄答えは自分で計算しましょう あとはこの答えを16進数に直すだけ (1011 1111 0101)  を (11 15 5) とできるのですから簡単ですよね(これって16進数の表現なんですよ)

taro82
質問者

お礼

ありがとうございます!!できました!! 感激です。

関連するQ&A