【超入門IT講座】現代社会に必須!データベースのキホン①
どうもみなさんこんにちは、IT修行中のななこです!ここでは、IT超初心者の私が知りたい!と思ったことにスポットを当て、「なるほど!」と感じたことをご紹介します!今回はITエンジニアになるなら知っておくべき「データベース」の基本について学んだことをお話しますね✨1. データベースとは?データベースは、アプリケーションのデータを保存・蓄積するための手段です!大量のデータを蓄積しておいて、そこから必要な
Workteria(ワークテリア)では難易度の高いものから低いものまで、スキルや経験に合わせた案件を多数揃えています。会員登録は無料ですので、ぜひ会員登録してご希望の案件を探してみてください!
フリーランス/正社員のエンジニアとして活躍するには、ご自身のスキルや経験に合わせた仕事を選ぶことが大切です。ご希望の案件がみつからない場合はお気軽にお問い合わせください!ユーザ満足度の高いキャリアコンサルタントが在籍していますので、希望条件や悩み事などなんでもご相談ください。ご希望にピッタリの案件をご紹介させていただきます。
10進数で足し算・引き算(加算・減算)ができるように、2進数でも足し算・引き算ができます。
この記事を読むことで、
・2進数の足し算・引き算(加減算)
・負の数(-)の表し方
・1の補数と2の補数
以上のことが分かります。
また、基数・進数・桁の重みについてより詳しく知りたい方は、
をご一読ください。基数についてより知ることができます!
2進数の足し算・引き算は、10進数の計算と考え方は変わりません。
方法としては、
①2進数を10進数に変換し、10進数で計算して出た結果を2進数に再変換する
②2進数のまま計算をする
以上の2つがあります。
メリットは、いつも通りの計算ができる、ということです。
このやり方であれば、いつも通りの計算(10進数での計算)になるため、1が0が…などと考えなくてすみます。
デメリットは、変換する手間が増え、結果が出るまでに時間がかかる、ということです。
1.10進数への変換
2.結果を2進数へ再変換
この変換・再変換は大変手間です。
試験などの場合はおすすめのやり方ではありません。
2進数の足し算では、
・0+0=0
・1+0=1(0+1=1)
・1+1=10
以上の3種類で計算ができます。
2進数では「0と1」しか表現できない基数のため、1+1は桁上がりがおきるのです。
試験などの場合、2進数のまま足し算する方法がおすすめです。
2進数の引き算では、
・0-0=0
・1-1=0
・1-0=1
・0-1=1
以上の4種類で計算ができます。
0-1=1の計算に関しては、0から1が引けないため、上の桁から“1”を借りてきます。
10進数でも、引き算元の数値が足りない場合は、上の桁から数字を借りてきますよね、それと同じです。
10進数の場合、上から借りてくるものは“10”になります。
2進数の場合も同じく、上から借りてくるものは“10”(10進数に置き換えると“2”)です。
引き算元の数値が足りない場合、上の桁から借りてきます。
・2進数 → 10(10進数では“2”)
・10進数 → 10
前項では、足し算と引き算の計算のやり方が分かりました。
しかし、これは正の数(+:プラス)の計算にしか使えません。。
数値は正の数だけではなく、負の数(-:マイナス)が存在します。
負の数の計算はどうすればできるでしょうか?
2進数の考え方で、「先頭の桁(先頭ビット)を符号とする」があります。
例えば、8ビット(1バイト)で数値を表すとします。
その場合、先頭の桁(8桁目)を符号として、0→正の数・1→負の数、とします。
2進数においては、先頭の1ビットを符号用にすることで、正の数・負の数を表すことができるのです。
しかし、上記の数値を計算してみると、
2進数
00000110+10000110=10001100
10進数
6+(‐6)=0
このように、10進数ではきちんと解が“0”になりますが、2進数では解が“0”になりません。
この2進数の計算式を成立させるためには、計算結果が“0”になるように負の数を表現する必要があります。そこで登場するのが「補数」です。2進数ではマイナス値の計算を実現するために、「補数」でマイナス値を表現します。
補数とは、補う数という意味です。
補数には以下の2つがあります。
・その桁で最大値になるために補う数
・次の桁に繰り上がるために必要になる補う数
まず、10進数「528」を例に上げて解説します。
528は3桁の数値です。
3桁の数値で表せる最大値は「999」です。
999にするためには、
x+528=999
x=999-528
x=471
528を999にするには、「471」を足します。
つまり、471という数値を補えば、999になる、ということです。
これを「9の補数」と呼びます。
528は3桁の数値です。
3桁の次の桁は4桁なので、繰り上がったすぐの数値は「1000」です。
1000にするためには、
x+528=1000
x=1000-528
x=472
528を1000にするには、「472」を足します。
つまり、472という数値を補えば、1000になる、ということです。
これを「10の補数」と呼びます。
それでは、2進数「0110」で補数がどうなるかを見てみましょう。
0110は4桁の数値です。
4桁の数値で表せる最大値は「1111」です。
1111にするためには、
x+0110=1111
x=1111-0110
x=1001
0110を1111にするには、「1001」を足します。
つまり、1001という数値を補えば、1111になる、ということです。
これを「1の補数」と呼びます。
1の補数は上記のような計算から求めることもできますが、もっと簡単に補数が分かる方法があります。
元の数値を反転させる、と言う方法です。
0110 → 1001 ①元の数値を反転させる
=1001 ②1の補数
反転させることで、1の補数が得られました。
0110は4桁の数値です。
4桁の次の桁は5桁なので、繰り上がったすぐの数値は「10000」です。
10000にするためには、
x+0110=10000
x=10000-0110
x=1010
0110を10000にするには、「1010」を足します。
つまり、1010という数値を補えば、10000になる、と言うことです。
これを「2の補数」と呼びます。
2の補数は上記のような計算から求めることもできますが、もっと簡単に補数が分かる方法があります。
元の数値を反転させ、+1をする、と言う方法です。
0110 → 1001 ①元の数値を反転させる
1001+1 ②反転させた数値に+1をする
=1010 ③2の補数
反転させ+1で、2の補数が得られました。
コンピュータにおいて、引き算の計算というものはできません。
そこで、コンピュータでは「2の補数」を使って引き算と同じことを行っているのです。
ここで、前項での計算を補数を使ってやってみましょう。
8ビットでの計算をしているため、8ビットから繰り上がりで9ビット目にある“1”は無視をします。
2進数
00000110+11111010=00000000
2進数でも補数を使うことで、正確な計算ができました。
実際に計算をしてみます。
0110-0011
+(-0011)
10000-0011=1101(2の補数)…反転させ、+1
0110+1101=10011
桁上がりした数は無視をする
=0011
引き算の計算ができました。
2進数の引き算は、このように「補数」を使うことで計算ができることがわかりました。
2進数の足し算・引き算について、分かったでしょうか?
2進数の計算には補数が大変重要になってきます。
理解するには、いくつか計算問題を解いてみていくのが良いでしょう!
そのような方はぜひ、Workteriaサイトをご利用ください!
定期的にご本人に合う高額案件を紹介
リモートワークなど自由な働き方ができる案件多数
専属エージェントが契約や請求をトータルサポート