※この記事にコードは存在しません
我々プログラマーは0と1を使用するプロであることに違いはないです。
常々思います。頭おかしいなって。
しかし、データは全て0と1で表現されることは揺るぎない事実です。
ではこの0と1とは何でしょう?そう考えたことがありますか?
ざっくり言えば、これはスイッチONかOFFかの違いです。
このスイッチはONなら電圧がかかり、OFFなら電圧がかからないと考えて見てください。(語弊があるのは承知しています)
通常プログラムを作成する際に電圧のことなんて一切考えませんよね。
例えば「A」という文字はASCIIコードで0x41
です。16進数は2進数をより簡単に見やすく表記するために存在します。これを2進数にしてみると0b01000001
になります。つまり8個のスイッチがoff on off off off off off on
となっている状態です。
たった1文字で8個もスイッチが必要なんです。
私の家にある電気のスイッチは5個しかありません。
意味がわかりませんね!
スマホでもギガバイトってよく聞きますよね。
ギガっていうのは10の9乗のことです。1,000,000,000
で10億ですね。
つまり10億バイトってことです。
そして1バイトってのは8ビットのことです。
ビットってのはスイッチのことと思ってください。
つまり1ギガバイトってのは10億バイト=80億ビットです。
80億個のスイッチを想像してください。
私の家の壁全てをスイッチにしても足りないでしょう。
今時のコンピュータは1TBのハードディスクやSSDが当たり前になっています。
1TBは10の12乗。1,000,000,000,000
。1兆ですね。
あぁ。。。楽しくなってきた。
コンピュータは以下の装置で成り立っています。
総称して5大装置って言います。
演算装置と制御装置はCPUに含まれます。
ハードディスクとかメモリは記憶装置に当たります。
入力装置はキーボードやマウスのことですね。
出力装置はディスプレイとかスピーカーかな?
なので、五大装置を言い換えれば
ってことになりますね。
これらは全部電気で動く装置です。
私は電気を専攻していたので電気と聞くだけで興奮してしまうのです。
電気の正体は究極的には荷電粒子という粒が巻き起こす現象の総称です。(量子とかその世界の話はようわかりません)
荷電粒子は電荷という魔力みたいなものを持っており、単位はクーロン[C]と呼びます。荷電粒子のことを単に電荷って言ったりもします。私も今後は電荷と呼びます。
みなさんは学生の頃に「電子」という言葉を聞いたことがあると思います。
電子は原子核の周りをグルグル回っている電荷のことです。
1つの電子は約-1.6×10^-19 [C] = 約-0.00000000000000000016[C]です。え?すっくな!って思うでしょ?でもそんなもんなんです。
こんな感じに電荷Aと電荷Bを置いてみます。
どっちもプラスの電荷だった場合にAとBは反発します。磁石みたいな感じです。
どのくらいの強さで反発するの?って思うでしょ?
どうです?嫌になったでしょう?
私も学生の頃にまだ電気と仲良くなっていない状態でいきなりこれを教えられました。
読み方は「よんぱいいぷしろんぜろあーるじじょうぶんのきゅーわんきゅーつー」です。最初は呪文だと思いました。
ε0ってのは真空の誘電率のことです。忘れてください。
ここで重要なのはr[m]が大きくなれば分母が大きくなって力が弱まるってことです。磁石も距離が遠ければ反発の力が弱まるのと一緒です。
q1とq2がプラスとマイナスだったら引き合います。
電荷は引きあったり反発したりすることがこれでわかったでしょう。
しかし、それが分かっただけでは主題である0と1の話には全然届きません。
届くためには電界ってものを考えないといけません。
電場って言われたりもします。
電界は電荷のもつオーラによる影響力みたいなものと考えてます。
影響力で人を吹き飛ばすことはできません。なので、影響力≠力です。
すごい人ってオーラあるじゃないですか。
そういう人のすぐ近くにいると力を貰える気しません?
でもテレビで見るだけじゃ別に力を感じないですよね?
電界もそんな感じで、電荷があるとそのオーラで近くにいる電荷に影響を及ぼしちゃうんです。
上図のq1[C]の電荷が半径r[m]の位置に作る電界E[V/m]は
さっき見た気がしますよね?
そうなんです。分子のq2が無くなっただけです。
つまりさっきの式は、電荷A(q1)のオーラがr[m]の位置に及ぼす影響力×電荷Bの持つ魔力=力を表していたんです。
あくまで電界は影響力であると先ほど申し上げましたが、q2が1[C]の時のみ次のように言えます。
「電荷Aが電荷B(1[C])に及ぼす力」
q2が1だったらF=Eになりますからね。
これがややこしい!直接的な力と見ることもできるし、影響力と見ることもできる。だから電界はようわからん!
ちなみに1[C]の電荷のことを単位電荷って言います。
さて、ここで問題です。
電界Eが0になる距離r[m]ってなーんだ?
正解は∞[m]です。無限に遠いところを0としてるわけです。これあとで使います。
電界の単位に注目してください。ボルト パー メートル[V/m](単位の/はパーって読むことが多いです)
ボルトですよ!聞いたことありますよね?
そうです!0と1を物理的に考えるにはボルトが必要だったんです!
やっと馴染みのある言葉です。
家庭用コンセントは100[V]ってのは聞いたことがあると思います。
でもそれって何だって思いません?
電圧はまたの名を電位差と呼びます。そう!電位の差なのです!
落ち着いて、殴らないで。電位のことも説明するから。
電気の世界での位置エネルギーって言われてます。
位置エネルギーって覚えてますか?
高いところに鉄球があったらソワソワしません?
落ちたらヤバイことは皆さんわかってるからです。
位置エネルギーってのはそのヤバさのことです。
床(基準点)からその高さに鉄球を持ち上げるために使うエネルギーと同じとも考えられます。
電気の世界でも同じような感じです。
電荷があると電界が発生し、電荷は他の電荷に力を及ぼすことはここまででわかりました。
これらの知識を使って電気の世界の位置エネルギーを考えましょう。
電荷A=q[C]が置かれている時、単位電荷Bを基準点から電荷Aからr[m]のところに持っていくのに使うエネルギーを考えます。
電位の基準点ってどこなのさ?
答えは∞に遠い場所です。なぜなら電荷Aが作る電界が0になるのは無限に遠い場所だからです。
ちなみにエネルギーの単位はジュール[J]です。これは「1[N]の力である物体を1[m]動かす時の仕事」という定義です。
ボルト[V]もエネルギーなのでジュール[J]と次元が一緒なのです。
電界ってのは影響力と言いましたが、影響をうける電荷が単位電荷だった場合には力に変わるのは先ほど説明しました。
つまり電荷Aによる反発(電界E)を受ける中、電荷Bをr[m]の位置まで動かす仕事を考える訳です。エネルギーの定義の通りですね。
図に書くとこんな感じです。
これには積分が必要になります。rと∞の間で電界は値が変わるから細切れにして足し算する必要があるんですね。その計算はさすがに省きます。
その結果がこちら
電界の分母のr^2がrになっただけ!
超簡単!これでやっと電位がわかりました。
あとは簡単です。2点の差を求めるだけですから!
r1[m]の位置の電位、r2[m]の位置の電位の差を求めましょう
これが電位差・電圧です!
こんだけやって電圧の正体を知っただけです。
まだ0と1に繋がる気がしませんよね。
大丈夫です。繋がるまでやります。初の続き物です。
コータ=ザッカーバーグ
@kota_zuckerberg
バイクとプログラミングをこよなく愛する編集部の後方支援担当。 愛車はSUZUKI GSR250。 Illustratorの自動化からWEB制作、インフラの整備などをこなしていくうちに いつの間にかフルスタックエンジニアになっちゃった。 主な使用言語はphp, javascript, go, applescript。最近はjsに傾倒ぎみ。