→ 携帯版は別頁
■n進数の演算
○3進数の2つの数の和差積商を求めるには
(A)
慣れないうちは
1) 初めに問題を10進数に書き換え
2) 次に10進数で計算して
3) 最後に答を3進数に戻す

という方法が考えられます.
(B)
慣れてきたら
3進数の演算表を作って,直接計算する

こともできます.

○3進数では,0,1,2の3種類の数字を使って表します.(3進法では3は使わず,3に相当する数は1つ位を上げて10で表します.)
 3進法で書かれた数(3進数)であることを示すために(3)を付けます.

3進法では
a×32+b×31+cabc(3)と書きます.
a×33+b×32+c×31+dabcd(3)と書きます.
………
(いずれもa,b,c,d,...0,1,2のいずれかです.)
【例】
 10進数の3=1×31+0は,3進数では10(3)と書きます.
 10進数の4=1×31+1は,3進数では11(3)と書きます.
 10進数の5=1×31+2は,3進数では12(3)と書きます.
 10進数の6=2×31+0は,3進数では20(3)と書きます.

【例1】
 次の計算をして,結果を3進数で表してください.
12(3)+11(3)
(解き方A)
1) 初めに問題を10進数に書き換えると
12(3)=3+2=5
11(3)=3+1=4
2) 次に10進数で計算すると
5+4=9
3) 最後に答を3進数に戻すと
9=1×32+0×31+0だから
100(3)
(解き方B)
あらかじめ右の演算表を作っておきます.
以下(3)は省略
12
+)11

1の位の計算:2+1=100を書いて(1)繰り上がる
3の位の計算:(1)+1+1=100を書いて(1)繰り上がる
9の位の計算:(1)1を書く
結果 ⇒ 100(3)

【例2】
 次の計算をして,結果を3進数で表してください.
210(3)×21(3)
(解き方A)
1) 初めに問題を10進数に書き換えると
210(3)=2×9+3+0=18+3=21
21(3)=2×3+1=6+1=7
2) 次に10進数で計算すると
21×7=147
3) 最後に答を3進数に戻すと
147=1×34+2×33+1×32+1×31+0だから
12110(3)
(解き方B)
以下(3)は省略


右のように計算できます.
結果 ⇒ 12110(3)


○3進数の引き算で引かれる方が小さいときは,上の位から借りてきます.
○その場合に,上の位で1のものは下の位では3=10(3)になります.

【例3】
 次の計算をして,結果を3進数で表してください.
210(3)−22(3)
(解き方A)
1) 初めに問題を10進数に書き換えると
210(3)=2×9+3+0=18+3=21
22(3)=2×3+2=6+2=8
2) 次に10進数で計算すると
21−8=13
3) 最後に答を3進数に戻すと
13=1×32+1×31+1だから
111(3)
(解き方B)


右のように計算できます.
結果 ⇒ 111(3)

○割り算の中身は,掛け算と引き算です.
【例4】
 次の計算をして,結果を3進数で表してください.
201(3)÷12(3)
10進数に直して計算することもできるが,ここでは省略する.

(解き方B)


右のように計算できます.
結果 ⇒ 10(3)余り11(3)
3進数の演算表
+ 0 1 2
0 0 1 2
1 1 2 10
2 2 10 11
× 0 1 2
0 0 0 0
1 0 1 2
2 0 2 11



= = = ≪足し算≫ = = =
【問題1】
 次の計算をして,結果を3進数で表してください.
221(3)+212(3)  

11012(3) 21120(3) 31210(3) 42110(3)




【問題2】
 次の計算をして,結果を3進数で表してください.
2021(3)+222(3)  

110010(3) 210020(3)
310120(3) 410210(3)




= = = ≪掛け算≫ = = =
【問題3】
 次の計算をして,結果を3進数で表してください.
201(3)×12(3)  

110102(3) 210112(3)
310122(3) 411012(3)




【問題4】
 次の計算をして,結果を3進数で表してください.
122(3)×21(3)  

110102(3) 211102(3)
312102(3) 412202(3)




【問題5】
 次の計算をして,結果を3進数で表してください.
201(3)−112(3)  

110(3) 211(3) 312(3) 421(3)




【問題6】
 次の計算をして,結果を3進数で表してください.
110(3)−21(3)  

110(3) 211(3) 312(3) 421(3)




【問題7】
 次の計算をして,結果を3進数で表してください.
121(3)÷22(3)  

12(3)余り0(3) 22(3)余り1(3)
310(3)余り0(3) 411(3)余り1(3)




○8進数の2つの数の和差積商を求めるには
(A) 慣れないうちは10進数で計算してから元に戻す方法もあります.
(B) 慣れてきたら8進数の演算表を作って,直接計算することもできます.

○8進数では,0,1,2,...,6,7の8種類の数字を使って表します.(8進法では8は使わず,8に相当する数は1つ位を上げて10で表します.)
 8進法で書かれた数(8進数)であることを示すために(8)を付けます.

8進法では
a×82+b×81+cabc(8)と書きます.
a×83+b×82+c×81+dabcd(8)と書きます.
………
(いずれもa,b,c,d,...0,1,2,...,6,7のいずれかです.)
【例】
 10進数の10=1×81+2は,8進数では12(8)と書きます.
 10進数の70=1×82+0×81+6は,8進数では106(8)と書きます.

※ コンピュータの内部では2進数の計算が行われますが,このことと関連して4進数,8進数,16進数,32進数,... が他のn進法と比べると比較的よく登場します.
 というのは,他のn進数とは違って,
■これらは2進数を2桁ずつ,3桁ずつ,4桁ずつ,5桁ずつ,...束にしたものになっていて,
■2進数との書き換えが簡単にできるからです.

 Excelのワークシート関数には
2進数を8進数に直す関数 =BIN2OCT()
2進数を16進数に直す関数 =BIN2HEX()
8進数を2進数に直す関数 =OCT2BIN()
8進数を16進数に直す関数 =OCT2HEX()
16進数を2進数に直す関数 =HEX2BIN()
16進数を8進数に直す関数 =HEX2OCT()
があります.

【問題8】
 次の2進数を8進数に直してください.
11010111(2)  

1225(8) 2327(8) 3653(8) 43113(8)



【問題9】
 次の計算をして,結果を8進数で表してください.
506(8)+17(8)  

1523(8) 2524(8) 3525(8) 4526(8)



【問題10】
 次の計算をして,結果を8進数で表してください.
30(8)×15(8)  

1450(8) 2455(8) 3470(8) 4475(8)



○16進数では,0,1,2,...,8,9,A,B,C,D,E,Fの16種類の数字を使って表します.(16進法では10進法での16に相当する文字Gは使わず,1つ位を上げて10で表します.)
 16進法で書かれた数(16進数)であることを示すために(16)を付けます.

16進法では
x×162+y×161+zxyz(16)と書きます.
x×163+y×162+z×161+wxyzw(16)と書きます.
………
(いずれもx,y,z,w,...0,1,2,...,8,9,A,B,C,D,E,Fのいずれかです.)
【例】
 10進数の31=1×161+15は,16進数では1F(16)と書きます.
 10進数の239=14×161+15は,16進数ではEF(16)と書きます.

 16進数で直接足し算をするには,次のような演算表を作るとよいでしょう.(結果を逆にすると,引き算もできます.)
1 2 3 4 5 6 7 8 9 A B C D E F
1 2 3 4 5 6 7 8 9 A B C D E F 10
2 3 4 5 6 7 8 9 A B C D E F 10 11
3 4 5 6 7 8 9 A B C D E F 10 11 12
4 5 6 7 8 9 A B C D E F 10 11 12 13
5 6 7 8 9 A B C D E F 10 11 12 13 14
6 7 8 9 A B C D E F 10 11 12 13 14 15
7 8 9 A B C D E F 10 11 12 13 14 15 16
8 9 A B C D E F 10 11 12 13 14 15 16 17
9 A B C D E F 10 11 12 13 14 15 16 17 18
A B C D E F 10 11 12 13 14 15 16 17 18 19
B C D E F 10 11 12 13 14 15 16 17 18 19 1A
C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B
D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C
E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D
F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E

 16進数で次のような掛け算の演算表を覚えるのは無理でしょう〜(泣).(困った時のExcel頼み =DEC2HEX(HEX2DEC( XX )*HEX2DEC( XX )) の XX印に16進数を入れると検算できます.)
× 1 2 3 4 5 6 7 8 9 A B C D E F
1 1 2 3 4 5 6 7 8 9 A B C D E F
2 2 4 6 8 A C E 10 12 14 16 18 1A 1C 1E
3 3 6 9 C F 12 15 18 1B 1E 21 24 27 2A 2D
4 4 8 C 10 14 18 1C 20 24 28 2C 30 34 38 3C
5 5 A F 14 19 1E 23 28 2D 32 37 3C 41 46 4B
6 6 C 12 18 1E 24 2A 30 36 3C 42 48 4E 54 5A
7 7 E 15 1C 23 2A 31 38 3F 46 4D 54 5B 62 69
8 8 10 18 20 28 30 38 40 48 50 58 60 68 70 78
9 9 12 1B 24 2D 36 3F 48 51 5A 63 6C 75 7E 87
A A 14 1E 28 32 3C 46 50 5A 64 6E 78 82 8C 96
B B 16 21 2C 37 42 4D 58 63 6E 79 84 8F 9A A5
C C 18 24 30 3C 48 54 60 6C 78 84 90 9C A8 B4
D D 1A 27 34 41 4E 5B 68 75 82 8F 9C A9 B6 C3
E E 1C 2A 38 46 54 62 70 7E 8C 9A A8 B6 C4 D2
F F 1E 2D 3C 4B 5A 69 78 87 96 A5 B4 C3 D2 E1

【問題15】
 次の計算をして,結果を16進数で表してください.
15F(16)÷D(16)  

1E(16) 2F(16) 31A(16) 41B(16)



【問題11】
 次の2進数を16進数に直してください.
10111101(2)  

1BD(16) 2BE(16) 3CD(16) 4DE(16)



【問題12】
 次の計算をして,結果を16進数で表してください.
AC(16)+4F(16)  

1CE(16) 2DF(16) 3EC(16) 4FB(16)



【問題13】
 次の計算をして,結果を16進数で表してください.
DC(16)−9F(16)  

12E(16) 23D(16) 3A7(16) 4C8(16)



【問題14】
 次の計算をして,結果を16進数で表してください.
6(16)×A(16)  

13C(16) 24D(16) 35E(16) 46A(16)



○===メニューに戻る
■[個別の頁からの質問に対する回答][n進数の演算について/17.1.17]
a=d(n) ,b=e(n),c=f(n)とする。10進数で a×b=cのとき,d(n)×e(n)==f(n)は成り立つのか?
=>[作者]:連絡ありがとう.a(10)=d(n) ,b(10)=e(n),c(10)=f(n)と書いてあるのだから,a(10)×b(10)=c(10)のとき,d(n)×e(n)=f(n)が成り立つのは当然でしょう.
等しいものは等しいものに等しい.引っ越しは引っ越しの引っ越し.他に言うべきことは思いつかない.
(あなたもコンピュータ・プログラミングが好きな方かな = =)
■[個別の頁からの質問に対する回答][n進数の演算について/16.11.27]
素晴らしい
=>[作者]:連絡ありがとう.