累乗
同じ数をいくつか掛けた場合に、掛けた個数を右肩に書いて数を表現する方法を累乗という。5 = 51 :5の1乗
数字が1個だけの場合は、1個掛けたと考える。
2×2 = 22 :2の2乗(2乗の場合だけ自乗と呼ぶこともある。)
2を2個掛る
3×3×3×3×3 = 35 :3の5乗
3を5個掛る
上でも3を5個掛るという表現にして、3を5回掛るとは書いていないことに注意。掛け算×の個数ではない。数字の個数である。
こういう細かい言葉の違いが面倒くさいかもしれないが、細かい言葉の違いを間違えて覚えて訳が分からなくなる人がいるので注意して欲しい。
3を5回掛けるのではなく、3を5個掛けているのである。
n×n×n×…×n×n×n = nm :nのm乗
m個かけ合わせる
nをm個かけ合わせたものをnmと書いてnのm乗と呼ぶ。(n:実数、m:自然数)
1乗、2乗(自乗)、3乗、....をまとめて累乗と呼ぶ。
累乗の整数への拡張
m=0の時、n0 = 1m<0の時は、nm = 1/n-m
と定義する。
nとかmとか1/nとか出てきたとたんに訳が分からなくなる人もいる。これは、ある程度の慣れが必要なので、面倒でも、何回も読んでください。
【例】
20 = 1
00 = 1
0は幾つかけ合わせても0だが、定義から00 = 1となる。
5-2 = 1/52 = 1/25
累乗の性質
n:実数、m、l:自然数nm×nl = n×n×n×…×n×n×n ×n×n×n×…×n×n×n
m個 l個
nがm+l個掛けあわされているからn(m+l)
nm÷nl = n(m-l)
1)m>lの場合
nm÷nl = n×n×n×…×n×n×n /n×n×n×…×n×n×n
m個 l個
l個のnが分母・分子で通分されてm-l個が分母に残る。
よって、n(m-l)
2)m<lの場合
nm÷nl = n×n×n×…×n×n×n /n×n×n×…×n×n×n
m個 l個
m個のnが分母・分子で通分されてl-m個が分母に残る。
nm÷nl = 1 /n×n×n×…×n×n×n
l-m個
よって、1/n(l-m) = n(m-l)
3)m = lの場合
nm÷nl = n×n×n×…×n×n×n /n×n×n×…×n×n×n
m個 l個
m = l個のnが分母・分子で通分されて1だけ残る。
よって、nm÷nl = 1 = n0 = n(m-l)
【例】
34×35 = 3(4+5) = 39
52/55 = 5-3
n進数
0から始まり、1を加えていき、1をn回加えたら、次の位に桁上りが発生して、10になる数字の表現方法。nを基数という。普段の生活では10進数が良くつかわれる。
0→+1→1→+1→2→+1→3→+1→4→+1→5→+1→6→+1→7→+1→8→+1→9→+1→10
0に1が10回加わると10になる。
・1桁の英数字で0〜(n-1)までのn通りの状態を表現
・複数の英数字を並べて数を表現する。
a(m-1)a(m-2)…a2a1a0
0〜(n-1)の英数字をm個並べた状況
右から1の位、nの位、nの2乗の位…nの(m-2)乗の位、nの(m-1)乗の位と呼び、
a(m-1)a(m-2)…a2a1a0はa(m-1)×n(m-1)+a(m-2)×n(m-2)…+a2×n2+a1×n1+a0×n0を表す。
・n倍する→全体の桁を一つ左にずらして右に0をつける。
・nで割る(n分の一する)→全体の桁を一つ右にずらす。元の数の1の位はnで割った余りになる。
10進数
2156 = 2×103+1×102+5×101+6×100 = 2000+100+50+6・1桁で0〜9までの10通りの状態を表現
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21….
・10倍する→全体の桁を一つ左にずらして右に0をつける。
【例】10倍を→で表す
5→50
28→280
365→3650
・10で割る(10分の1する)→全体の桁を一つ右にずらす。
【例】10で割るを→で表す
55→5余り5
121→12余り1
20000→2000余り0
8進数
3572(8) = 3×83+5×82+7×81+2×80 = 3×512+5×64+7×8+2 = 1536+448+56+2 = 2042(10)3572(8)の様に何進数かを明示的に示す場合は、数字の右下に(n)という風に表記する。
・1桁で0〜7までの8通りの状態を表現
0,1,2,3,4,5,6,7,10,11,12,13,14,15,16,17,20,21,22,23,24,25,26,27,30….
・8倍する→全体の桁を一つ左にずらして右に0をつける。
【例】8倍を→で表す
5→50
27→280
365→3650
・8で割る(8分の1する)→全体の桁を一つ右にずらす。
【例】8倍を→で表す
365→36余り5
7251→725余り1
160→16余り0
2進数
10010101 = 1×27+0×26+0×25+1×24+0×23+1×22+0×21+1×20 = 128+16+4+1 = 149(10)・1桁で0〜1の2通りの状態を表現
0,1,10,11,100,101,110,111,1000,1001,1010,1011,1100,1101,1110,1111….
・2倍する→全体の桁を一つ左にずらして右に0をつける。
【例】
1→10
101→1010
1101→11010
・2で割る(2分の1する)→全体の桁を一つ右にずらす。
【例】
101→10余り1
10110→1011余り0
110101→11010余り1
・2進数は1の位が0なら偶数、1なら奇数
16進数
16進数は0から15までを一ケタで表す。ただし、9より大きい一ケタの数字はない。そこで、コンピュータの世界では10進数の10はA、10進数の11はB、10進数の12はC、10進数の13はD、10進数の14はE、10進数の15はFと書く約束にしている。16A0FB = 1×165+6×164+A×163+0×162+F×161+B×160 = 1×1677216+6×1048576+10×65536+0×4096+15×256+11×1 = 8327883(10)
・1桁で0〜Fまでの16通りの状態を表現
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,10,11,12,13,14,15….
・16倍する→全体の桁を一つ左にずらして右に0をつける。
【例】
A→A0
F8→F80
3A5F→3A5F0
・16で割る(16分の1する)→全体の桁を一つ右にずらす。
【例】
67F→67余りF
352→35余り2
2進数 8進数 10進数 16進数
例 10101011 253 171 AB
10倍 101010110 2530 1710 AB0
1/n 1010101 25 17 A
1/2 1010101 125 85 55
1/8 10101 25 21 15
1/16 1010 12 10 A
【参考】
2進数を8で割る→全体を右に3ビットずらす。元の数の下3桁が余り。
2進数を16で割る→全体を右に4ビットずらす。元の数の下4桁が余り。
基数の変換
n進数は数値を基数nで表現したものだから、例えば2進数の1011と8進数の13と10進数の11と16進数のBは同じものである。
1011(2) = 13(8) = 11(10) = B(16)
n進数をm進数にすることを基数変換という。
2進数?8進数、2進数?16進数
2進数?8進数、2進数?16進数は簡単に変換できる。
2進数→8進数
【手順】@2進数で表現された数を下から3桁ずつグループ化する。
(この時、先頭が2桁でない場合は0を補って3桁にする。)
A3桁に対して下記を当てはめていく。
000→0
001→1
010→2
011→3
100→4
101→5
110→6
111→7
(ちょうど2進数3桁が8進数1桁に対応している。)
B上で計算した結果を順番に並べていく。
例)
10111001001110001(2)
10|111|001|001|110|001
@| A |B | C| D| E
E001→1
D110→4+2 = 6
C001→1
B001→1
A111→4+2+1 = 7
@10→010→2
10111001001110001(2) = 271161(8)
8進数→2進数
【手順】@8進数で表現された数を下から1桁ずつ下記表で3桁の2進数として機械的に変換
0→000
1→001
2→010
3→011
4→100
5→101
6→110
7→111
A上で計算した結果を順番に並べていく。
例)
3254167(8)
3→011
2→010
5→101
4→100
1→001
6→110
7→111
3254167(8) = 011010101100001110111(2) = 11010101100001110111(2)
2進数→16進数
【手順】@2進数で表現された数を下から4桁ずつグループ化する。
(この時、先頭が4桁でない場合は0を補って4桁にする。)
A4桁に対して、下記に従って2進数を16進数に当てはめていく。
0000→0
0001→1
0010→2
0011→3
0100→4
0101→5
0110→6
0111→7
1000→8
1001→9
1010→A
1011→B
1100→C
1101→D
1110→E
1111→F
(ちょうど2進数4桁が16進数1桁に対応している)
B上で計算した結果を順番に並べていく。
例)
10111001001110001(2)
1|0111|0010|0111|0001
@| A |B | C | D
D0001→1
C.0111→7
B0010→2
A0111→7
@0001→1
10111001001110001(2) = 17271(16)
16進数→2進数
【手順】A16進数それぞれの桁に対して、下記に従って2進数を当てはめていく。
0→0000
1→0001
2→0010
3→0011
4→0100
5→0101
6→0110
7→0111
8→1000
9→1001
A→1010
B→1011
C→1100
D→1101
E→1110
F→1111
B上で計算した結果を順番に並べていく。
例)
AB240C(16)
A→1010
B→1011
2→0010
4→0100
0→0000
C→1100
AB240C(16) = 101010110010010000001100(2)
n進数→10進数
10進数に変換するのも比較的簡単に出来る。n進数の定義を思い出すと、
a(m-1)a(m-2)…a2a1a0
0〜(n-1)の英数字をm個並べんだ状況
右から1の位、nの位、nの2乗の位…nの(m-2)乗の位、nの(m-1)乗の位と呼び、
a(m-1)a(m-2)…a2a1a0はa(m-1)×n(m-1)+a(m-2) ×n(m-2)…+a2×n2+a1×n1+a0×n0を表す。
だから、
2進数→10進数
20→1
21→2
22→4
23→8
24→16
25→32
26→64
27→128
28→256
29→512
210→1024
211→2048
212→4096
213→8192
214→16384
215→32768
216→65536
m桁目は2(m-1)
2進数の1の部分の2(m-1)を加えれば10進数になる。
例)
1011001011101011(2) = 32768+8192+4096+512+128+64+32+8+2+1 = 45803
B2EB = 11×4096+2×256+14×16+11 = 45056+512+224+11 = 45803
商と余りの関係
p、q、r、dは整数とする。(ただしq≠0)
pをqで割った時の商をd余りをrとすると、
p = d×q+r(ただし0≦r<|q|)
この0≦r<|q|という条件は次のような例を考えてみてください。
-10を-3で割ることを考えます。その場合の商と余りはなんでしょう。
-10は下の様に書けることは分かります。
-10 = -3×2-4 …@
-10 = -3×3-1 …A
-10 = -3×4+2 …B
-10 = -3×5+5 …C
ここで、@もCも余りに見える部分の絶対値が割る数-3の絶対値3より大きいいので余りとは言いにくいでしょう。
そうすると、問題は-10を-3で割った商と余りはAの3と-1なのかBの4と2なのかと言うことです。
そこで、正の数の除算を考えた際の自然な拡張になるように、r≧0と決めておきます。
結局Bとなって、-10を-3で割った商は4余り2となります。
例)121を2で割った商は60余りは1だから121 = 60×2+1
121を8で割った商は15余りは1だから121 = 15×8+1
121を16で割った商は7余りは9だから121 = 7×16+9
10進数→2進数
10進数を2進数に変換するのは手順自体は簡単だけれど2の割り算を行う必要があるので、少しだけ面倒。10進数αを2進数に変換する
【手順】
@αを2で割った商をα0、余りをγ0(ここでγ0は0か1)とする。
A求める2進数の最下位の桁をγ0とする。
Bα0 = 0なら求める2進数はγ0(ここでα0、γ0は0か1)
Cα0≧1ならα0を2で割った商をα1、余りをγ1(ここでγ1は0か1)とする。
D求める2進数の下から次の位の桁をγ1とする。
Eα1 = 0なら求める2進数はγ1γ0(ここでα1、γ1、γ0は0か1)
Fα1≧2ならα1を2で割った商をα2、余りをγ2(ここでγ2は0か1)とする。
上記のD〜Fをα1をαi(i≧2)、γ1をγi(i≧2)で置き換えてαi = 0になるまで繰り返す。
最後γm-1…γ0(m≧1)が求める2進数
【例】
317
317/2 = 158×2+1
158 = 79×2+0
79 = 39×2+1
39 = 19×2+1
19 = 9×2+1
9 = 4×2+1
4 = 2×2+0
2 = 1×2+0
1 = 0×2+1
よって、317(16) = 100111101(2)
【参考】
商と余りの関係で見たように10進数α(>2)を2で割った商をβ0、余りをγ0とすると
α = β0×2+γ0(ここで、γ0は0か1)
ここでβ0>2なら、再度2で割れて商がβ1、余りがγ1とすると、
β0 = β1×2+γ1(ここで、γ1は0か1)
つまり
α = (β1×2+γ1)×2+γ0ここで、γ0、γ1は0か1)
これをまたβ1に対して考える。ここでβ1>2なら、再度2で割れて商がβ2、余りがγ2とすると、
β1 = β2×2+γ2(ここで、γ2は0か1)
つまり
α = ((β2×2+γ2)×2+γ1)×2+γ0ここで、γ0、γ1、γ2は0か1)
これをβm = 0になるまで上のことを繰り返すと、
α = (((...(((γm-1×2+γm-2)×2+γm-3+…+γ2)×2+γ1)×2+γ0
= γm-1×2m-1+γm-2×2m-2+…+γ2×22+γ1×21×γ0×20(rm-1 = 1、ri(i = 0〜m-2)は0か1)
ここでβ0、γ0はもともとのαを2で割った商と余り、βn、γnはβn-1を2で割った商と余りだった。
つまり、最初だけαだけれども、あとは2で割った商をさらに2で割っていくことを繰り返していく。
その都度余りを、右から並べていくと、1か0の列ができて、最後商が0になったら、そこで終わると、10進数が2進数に変換されていることになる。