アプリ版:「スタンプのみでお礼する」機能のリリースについて

16進数の乗算について。

いつもお世話になっております。

小生、現在16進数の乗算を勉強しているのですが、
計算の手順が理解できません。

例えば、5 X A という式があるとすると、

1.そのままでは計算しにくいので、5 x 10Hをする。
  よって、50Hになる。

2.50Hから足しすぎた分を求める。
  この場合、5に10Hをかけているので、(10H - A) = 6となり、
  (5 X 6)が足しすぎた分になる。

3.50Hから足しすぎた分を引く。
  50H - (5 X 6) = 50H - 1E = 32になる。

と文章で書ける事は書けるのですが、なぜかしっくりきません。

お忙しい中、大変申し訳ございませんが、先輩方ご教示宜しくお願い致します。

A 回答 (6件)

何がしっくりこないのですか?


それが計算方法じゃないですか。

1+1=2と文章で書けるけどしっくりこない、といってるのと同じですよ?

この回答への補足

gigosyokufulさん、ご回答頂き誠にありがとうございます。

やはり、深く考えすぎなのでしょうか?

以上、お忙しい中大変申し訳ございませんが、ご確認の程宜しくお願い致します。

補足日時:2010/06/17 16:35
    • good
    • 0

九九を覚えるのと同じように FF (?) を覚えるという手もあるな.

この回答への補足

Tacosanさん、ご回答頂き誠にありがとうございます。

やはり丸覚えがいいのでしょうか?

以上、お忙しい中申し訳ございませんが、ご確認の程宜しくお願い致します。

補足日時:2010/06/17 16:36
    • good
    • 0

お尋ねの計算例は、


16進数の5(=10進数の5)* 16進数のA(=10進数の10)=16進数の32(=10進数の50)
でよろしいかと思いますが、
※「*」:乗算を表すつもり

>そのままでは計算しにくいので、…
の部分が意味不明ですが、

なぜ16進数のままで計算なさらないのでしょうか?
9*9(九九)の演算が有るように十六進数のF*Fの掛け算表(予め自作するなどして)を使って計算する方法もあるでしょう。

まぁ、十六進数同士の掛け算が不得意なら、16進数 → 10進数の変換を行なってから乗算し、結果を10進数 → 16進数の変換を行なえばいいのではありませんか?

この回答への補足

sunspot_numberさん、ご回答頂き誠にありがとうございます。

以下、sunspot_numberさんにお伝えしたい連絡事項を記述させて頂きます。

>なぜ16進数のままで計算なさらないのでしょうか?

16進のままで計算するのは私自身、馴れていません。。。
ですから、「そのままでは計算しにくいので」という分を記述しています。

>まぁ、十六進数同士の掛け算が不得意なら、16進数 → 10進数の変換を行なってから乗算し、結果を10進数 → 16進数の変換を行なえばいいのではありませんか?

仰るとおりですが、16進から10進、10進から16進の変換も、16までの数以上は即、頭で出来ません。。。

以上、お忙しい中、大変申し訳ございませんが、ご確認の程宜しくお願い致します。

補足日時:2010/06/17 16:42
    • good
    • 0

私なら、もし乗算表や電卓が使えない環境での計算だとすると、



5 * 0AH の計算なら、
十進数で5 * 10 = 50
そして十進数の50を十六進数に変換して32Hという風に計算します。
50÷16 = 3…2
※「…」はあまりの意
暗算の場合、実際には割り算じゃなく引き算でやることが多いです。

2のべき乗の数を覚えていると便利ですよ。
2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536

この回答への補足

sunspot_numberさん、再度ご教示頂き、誠にありがとうございます。

>2のべき乗の数を覚えていると便利ですよ。

確かに便利だと思います。

以上、お忙しい中大変申し訳ございませんが、ご確認の程宜しくお願い致します。

補足日時:2010/06/18 22:25
    • good
    • 0

そもそも16進数は2進数を表しやすいためにあるので、


2進数に直せば割とわかりやすいかもしれません。

5×Aであれば、5×8+5×2に変形できます。
5を2進数に直すと、0101
×8は3ビットシフト、×2は1ビットシフトなので、
00101000+00001010=00110010
上位4桁、0011=3
下位4桁、0010=2
答えは32となります。

ですが、基本的に1桁と1桁の計算は、概念を理解した後は、
掛け算の99のように覚えるしかないと思います。
質問者様のやり方は、10進数で5×7を5×10-5×3と
表現して計算されているだけで、
テクニックとしてはあると思いますが、
計算のやり方としては普通には思えません。

なのでしっくりいかないのではないでしょうか?

この回答への補足

ohkinu1972さん、ご回答頂き誠にありがとうございます。

2進数に直す方法ですか。。。
確かに私の計算方法は、普通ではないと思います。
考えすぎの計算方法だと思います。

だからしっくり来ないのだと思います。

とても参考になるご教示頂き誠にありがとうございます。

以上、お忙しい中申し訳ございませんが、ご確認の程宜しくお願い致します。

補足日時:2010/06/18 22:29
    • good
    • 0

馬鹿馬鹿しい方法かもしれませんが、2進数に直して計算することも出来ます。


5=0101
A=1010
    0101
    1010
*)------
    0000
   0101
  0000
 0101
--------
 0102010
(繰り上げて)
 0110010
(4桁で区切って)
 011
0010
(16進に直して)
32になる。

この回答への補足

osu_neko09さん、ご回答頂き誠にありがとうございます。

全然馬鹿ばかしくないです!!

とっても分かりやすい計算方法だと思いました。

以上、お忙しい中申し訳ございませんが、ご確認の程宜しくお願い致します。

補足日時:2010/06/18 22:32
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!