![]() ![]() *** 科目 *** 数Ⅰ・A数Ⅱ・B数Ⅲ高卒・大学初年度 *** 単元 *** 数と式不等式二次関数二次不等式三角比三角比と図形集合・命題・証明順列・組合せ確率整数の性質 ※高校数学Aの「整数の性質…2進法,N進法」について,このサイトには次の教材があります.
この頁へGoogleやYAHOO ! などの検索から直接来てしまったので「前提となっている内容が分からない」という場合や「この頁は分かったがもっと応用問題を見たい」という場合は,他の頁を見てください. が現在地です. ↓最大公約数,最小公倍数,互除法 ↓1次不定方程式の整数解 ↓センター試験.整数問題 ↓ペル方程式 ↓2進法,16進法,n進法⇔10進法 ![]() ↓2進数の演算 ↓N進法 ↓N進数の演算 ↓N進法の小数 ↓試験問題(素数,剰余類) ↓3n+1問題(コラッツ予想) ↓フェルマー予想,オイラー予想 連続整数の積 |
10進法
小中学校以来使っている10進法は,次の例のようにたとえば,a×102+b×10+cをabcと書くものです. (10進法で表された数を10進数といいます.)
【10進数の例】
10進法では,0,1,2,3,4,5,6,7,8,9の順に大きい数字を使い,9の次は新しい数字は使わずに1つ上の桁に1を書いて10とします.
5×102+6×10+7を567と書く 9×103+8×102+0×10+7を9807と書く 使える数字は,0,1,2,3,4,5,6,7,8,9の10種類
2進法
コンピュータの内部で使われる2進法(on=1, off=0の区別しかないので,2種類の数字だけで表す)は,次の例のようにたとえば,a×22+b×2+cをabc(2)と書くものです. (2進法で表された数を2進数といいます.)
【2進数の例】
2進法では,0,1の順に数字を使い,1の次は新しい数字は使わずに1つ上の桁に1を書いて10(2)とします.1×22+1×2+0を110(2)と書く 1×23+0×22+1×2+1を1011(2)と書く 使える数字は,0,1の2種類
何進法で書かれているかを表すために末尾に小さくかっこうを付けて書きます.
101(2) → 2進法で書かれている数(2進数) 1201(3) → 3進法で書かれている数(3進数) 6107(8) → 8進法で書かれている数(8進数) A1B3(16) → 16進法で書かれている数(16進数) ※ 10進法で書かれているときだけは,末尾の(10)は省略できます. 578は578(10)のこと. → 10進法で書かれている数(10進数)
【例1】
2進数で書かれた数字101(2)を10進数に直してください.
101(2)を10進数に直すには,1×22+0×2+1の計算を(普通に)10進法でやればよい.
(解答)1×22+0×2+1=4+0+1=5
※ Excelではよく使われるn進数相互の間に変換関数が準備されています.[この頁の問題の検算に使えます]
2進数(***)を10進数に直す関数は =BIN2DEC(***) です.(コンピュータ関連では,Exe to Binのtoを2で短縮してかつ空白文字を詰めるEXE2BINという面白い書き方があります.BIN2DEC は Binary to Decimal(2進数から10進数)の略でしょう. 【例】 BIN2DEC(11)=3, BIN2DEC(1010)=10 ※ BIN2DEC(1203) のように2進数としては使用できない文字 2,3などを引数にすると #NUM!(定義域にない値を代入した)というエラーコードが返されます. |
1×23+0×22+1×2+1=8+0+2+1 →2
1×24+1×23+1×22+0×21+0=16+8+4+0+0=28 →3
|
3進法
3進法は,次の例のようにたとえば,a×32+b×3+cをabc(3)と書くものです. (3進法で表された数を3進数といいます.) 3進法では,0,1,2の順に数字を使い,2の次は新しい数字は使わずに1つ上の桁に1を書いて10(3)とします.
【例2】
3進数で書かれた数字2102(3)を10進数に直してください.
2102(3)を10進数に直すには,2×33+1×32+0×;3+2の計算を(普通に)10進法でやればよい.
(解答)2×33+1×32+0×3+2=54+9+0+2=65
【3進数の例】
2×32+1×3+0を210(3)と書く 1×33+2×32+1×3+0を1210(3)と書く 使える数字は,0,1,2の3種類 1×33+2×32+2×31+0=27+18+6+0=51 →2
|
8進法
8進法は,次の例のようにたとえば,a×82+b×8+cをabc(8)と書くものです. (8進法で表された数を8進数といいます.) 8進法では,0,1,2,3,4,5,6,7の順に数字を使い,7の次は新しい数字は使わずに1つ上の桁に1を書いて10(8)とします.
※ Excelには8進数を10進数に変換する関数が準備されています.[この頁の問題の検算に使えます]
8進数(***)を10進数に直す関数は =OCT2DEC(***) です.(Octal to Decimal) 【例】 OCT2DEC(7651)=4009 ※ OCT2DEC(89) のように8進数としては使用できない文字 8,9などを引数にすると #NUM!(定義域にない値を代入した)というエラーコードが返されます.
【8進数の例】
7×82+6×8+5を765(8)と書く 1×83+0×82+6×8+7を1067(8)と書く 使える数字は,0,1,2,3,4,5,6,7の8種類 1×82+2×81+0=64+16+0=80 →3
|
16進法
16進法は,次の例のようにたとえば,x×162+y×16+zをxyz(16)と書くものです. (16進法で表された数を16進数といいます.) 16進数を表すためには,「1文字で10,11,12,13,14,15を表す」必要があり,このためにA,B,C,D,E,Fを使います.(Aは10進数の10,Bは10進数の11,...,Fは10進数の15に対応しています.) 16進法では,0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,Fの順に数字を使い,Fの次は新しい数字は使わずに1つ上の桁に1を書いて10(16)とします.
※ Excelには16進数を10進数に変換する関数が準備されています.[この頁の問題の検算に使えます]
16進数(***)を10進数に直す関数は =HEX2DEC(***) です.(Hexadecimal to Decimal) 【例】 HEX2DEC("AB0E")=43790 ←単にAB0Eと書くと変数やセル番地と解釈されるので,HEX2DEC()に渡す引数には「16進数を表す文字列」であることを示すためにダブルクォートで囲んで代入します.もしくは,他のセルに書かれた文字を参照します.
【例3】
16進数で書かれた数字5A8C(16)を10進数に直してください.
5A8C(16)を10進数に直すには,5×163+A×162+8×16+Cの計算を(普通に)10進法でやればよい.ただし,Aは10進数の10,Bは10進数の11,...,Fは10進数の15を表すものとする.)
(解答)5×163+10×162+8×16+12 =20480+2560+128+12=23180
【16進数の例】
7×162+A×16+Bを7AB(16)と書く E×163+9×162+C×16+5をE9C5(16)と書く 使える数字は,0,1,2,3,...,9,A,B,C,D,E,Fの16種類
※読者の質問として意外に多いのが F を16と思い込んでしまう場合です.16進数では最高で15を表す文字までしか使いません.Fは15に対応しています.
C×16+7=12×16+7=192+7=199 →3
F×16+F=15×16+15=240+15=255 →3
|
n進法
n進数を表すためには,「n種類の文字」が必要です.数学としてもコンピュータ処理としても256進数,...,32768進法などでも可能ですが,コンピュータの画面上に表示するには”コンピュータの1バイトで何種類の文字が表せるか”という別の都合を考えなければなりません.また,+-*/().など演算に使われる文字は紛らわしいので避ける必要があります.このような訳で,コンピュータの画面上に簡単に表現できるのは,0,1,2,...,9までの10種類の文字,これに英大文字A,B,...Zの26文字,英小文字a,b,..,zの26文字を追加して62進数まででしょう.(大文字⇔小文字の区別がなければ36進数まで)
※コンピュータは内部的には2進数で処理されていますが,2進数を束にして扱うことにより,8進数,16進数,32進数,64進数などがよく使われます.今はコンピュータの時代なので,16進数,32進数,64進数などに出合う機会が多くなりました.
■10進数をn進数に直すには ○ 10進法で表された数を2進法で表すには,次の関係を用いると便利です. まず 10111(2)=1×24+0×23+1×22+1×2+1=16+4+2+1=23 を例にとって考えます. 23=1×24+0×23+1×22+1×2+1
のように変形すると, =2(1×23+0×22+1×21+1)+1 =2(2(1×22+0×21+1)+1)+1 =2(2(2(1×21+0)+1)+1)+1 =2(2(2(2(1)+0)+1)+1)+1 1.右端の位の数は23を2で割ったときの余りです 2(2(2(2(1)+0)+1)+1)+1 ・・・・・→ 1 2.このときの商 2(2(2(1)+0)+1)+1 ・・・→ 1 をさらに2で割った余りは右から2つ目の位の数です. 3.このときの商 2(2(1)+0)+1 ・・・・・・→ 1 をさらに2で割った余りは右から3つ目の位の数です. 4.このときの商 2(1)+0 ・・・・・・・・・→ 0 をさらに2で割った余りは右から4つ目の位の数です. 5.このときの商 1 ・・・・・・・・・→ 1 をさらに2で割った余りは右から5つ目の位の数です. ○ 10進法で表された数を3進法,4進法,...など一般にn進法に直すには,ここの解説の2に変えて3,4,...,nを使うとよい.
Excelで10進数を2進数,8進数,16進数に直すには,各々 =DEC2BIN(), =DEC2OCT(), =DEC2HEX() という関数が利用できます.
【例】
|
○
![]() ![]()
≪10進数を2進数に直す方法≫
2で割った余りを上から下へ,右から左に書く. (下から上へ,左から右に書くと覚えてもよい) ○ 暗算でするには 23=1×24+0×23+1×22+1×2+1
のように書くと,=1×16+0×8+1×4+1×2+1
【例4】
(解答)10進数で書かれた数字11を2進数に直してください. 24=16, 23=8, 22=4, 21=2, 1を準備しておく
|
25=32, 24=16, 23=8, 22=4, 21=2, 1を準備しておく
![]() →4
|
25=32, 24=16, 23=8, 22=4, 21=2, 1を準備しておく
→3
|
34=81, 33=27, 32=9, 31=3, 1を準備しておく
![]() 順に3で割るときは,次図のようになります. →4
|
83=512, 82=64, 81=8, 1を準備しておく
→1
|
162=256, 161=16, 1を準備しておく
→4
|
162=256, 161=16, 1を準備しておく
→2
|
自由研究
以下のツールでは,2進数から64進数までの数を相互に変換します.赤枠には2から64までの数字を書き込んでください.(例えば16進数は16進数と書き,G進数とは書きません.)各位の数は, 0123456789 ← 10文字 ABCDEFGHIJKLMNOPQRSTUVWXYZ ← 26文字 abcdefghijklmnopqrstuvwxyz ← 26文字 #% ← 2文字 の合計64文字までとし,英字の大文字と小文字を区別し,例えばAは1文字で10を表し,aは1文字で36を表すものとします.これで62文字まで表せますが,残り2文字をここでは#%とし,例えば,63を1つの文字で表すと%,62を1つ文字で表すと#とするので,4094=64×63+62を64進法で表すと,%#とする約束です. |
![]() ![]() |
■このサイト内のGoogle検索■ |