RoboCup Junior Japan Rescue Kanto OB
2005~2013
2005~2013
今日はコンピューターで使われる数字や数列についてのお話です。
一般に、今使われている数字は10進法という方式ですね。
これは、0123456789
この10個の数字単位で桁があがっていく仕組みです。9の次は10ですからね。
時計だったら60秒、60分で桁というか、単位が変わりますよね。だから時計は60進法です。
このように、数というのは、場合、用途によって、桁上がりのタイミング、即ち進法が変わることがあります。
実はコンピューターでも使われている進法がまた違うのです。
コンピューターでは、2進法という進法が使われています。
2進法では、数字は0と1しか使いません。
つまり、0の次が1、その次がもう桁があがって10になる訳です。
これは、人間からしたら非常にわかりにくい進法ですが、コンピューターからしたら、とてもありがたい進法なのです。
何故コンピューターでは2進法がいいのでしょう。
コンピューターはデジタル回路で動作していますから、制御信号は電圧のONとOFFの2つです。
また、2進法も、0と1の2つで構成されています。
もうお分かりですね。2進法は、デジタル回路の信号とデータの構成が同じなので、
2進法で書かれた数字(2進数)は、コンピューターの信号と等価とみることができます。
だから、信号を数字に置換してやるだけで簡単にコンピューターに命令を送ってやることができるのです。
その置換を実際にやっているのが、プログラムの書込機、
つまりPickitなどのライターや、マイコンそのものの機能になる訳です。
要するにこっちからやるべきことは、その命令となる数字を送ってやること、
これがレジスタの書き換えであり、プログラムそのものなのです。
そういう2進数、0と1だけで書かれたプログラムが機械語というものです。
でもこれは只の0と1の集まりなので、まず人間には理解できません。
そこでコンパイラができ、人間に理解ができるプログラミング言語というものでプログラムができるようになりました。
2進法の話のはずが、随分逸れましたね。
これが2進法の説明です。
因みに、レジスタに書き込む時は言語でも2進数で書かれることがありますが、やっぱり長ったらしくなります。
なので今のプログラムでは、この命令を2進数ではなく、16進数で記述する場合が多いです。
16進数では、数字の順番が
0123456789ABCDEF
となっていて、Fの次が10になります。
何故わざわざまた別の進数を使って記述するかと言いますと、
プログラムではこの2進数で記述される命令の一桁一桁をbitと呼ぶのですが、
そのbitによる命令を行う際にある特性の影響で命令自体を16進数で記述した方がいいんです。
そういう訳で、実用的には16進数で記述される方が多いです。
bitに関しては、また他の記事で紹介することにして、以上が2進数と16進数の紹介でした。
今日はA/D変換の動作が確認できました。
明日はLCDをつけてみようと思います。
(^・ω・)ノ RadiumProduction in RoboCup Junior
一般に、今使われている数字は10進法という方式ですね。
これは、0123456789
この10個の数字単位で桁があがっていく仕組みです。9の次は10ですからね。
時計だったら60秒、60分で桁というか、単位が変わりますよね。だから時計は60進法です。
このように、数というのは、場合、用途によって、桁上がりのタイミング、即ち進法が変わることがあります。
実はコンピューターでも使われている進法がまた違うのです。
コンピューターでは、2進法という進法が使われています。
2進法では、数字は0と1しか使いません。
つまり、0の次が1、その次がもう桁があがって10になる訳です。
これは、人間からしたら非常にわかりにくい進法ですが、コンピューターからしたら、とてもありがたい進法なのです。
何故コンピューターでは2進法がいいのでしょう。
コンピューターはデジタル回路で動作していますから、制御信号は電圧のONとOFFの2つです。
また、2進法も、0と1の2つで構成されています。
もうお分かりですね。2進法は、デジタル回路の信号とデータの構成が同じなので、
2進法で書かれた数字(2進数)は、コンピューターの信号と等価とみることができます。
だから、信号を数字に置換してやるだけで簡単にコンピューターに命令を送ってやることができるのです。
その置換を実際にやっているのが、プログラムの書込機、
つまりPickitなどのライターや、マイコンそのものの機能になる訳です。
要するにこっちからやるべきことは、その命令となる数字を送ってやること、
これがレジスタの書き換えであり、プログラムそのものなのです。
そういう2進数、0と1だけで書かれたプログラムが機械語というものです。
でもこれは只の0と1の集まりなので、まず人間には理解できません。
そこでコンパイラができ、人間に理解ができるプログラミング言語というものでプログラムができるようになりました。
2進法の話のはずが、随分逸れましたね。
これが2進法の説明です。
因みに、レジスタに書き込む時は言語でも2進数で書かれることがありますが、やっぱり長ったらしくなります。
なので今のプログラムでは、この命令を2進数ではなく、16進数で記述する場合が多いです。
16進数では、数字の順番が
0123456789ABCDEF
となっていて、Fの次が10になります。
何故わざわざまた別の進数を使って記述するかと言いますと、
プログラムではこの2進数で記述される命令の一桁一桁をbitと呼ぶのですが、
そのbitによる命令を行う際にある特性の影響で命令自体を16進数で記述した方がいいんです。
そういう訳で、実用的には16進数で記述される方が多いです。
bitに関しては、また他の記事で紹介することにして、以上が2進数と16進数の紹介でした。
今日はA/D変換の動作が確認できました。
明日はLCDをつけてみようと思います。
(^・ω・)ノ RadiumProduction in RoboCup Junior
カレンダー
最新CM
カテゴリー
らじぷろ目次
らじぷろ検索機
最新記事
(01/01)
(01/03)
(08/27)
(04/29)
(01/01)
(11/20)
(09/06)
(09/04)
(08/09)
(08/06)
(07/27)
(05/29)
(03/15)
(01/01)
(05/07)
プロフィール
HN:
Luz
性別:
男性
アーカイブ