Upgrade to Pro — share decks privately, control downloads, hide ads and more …

第1回 ITパスポート社内勉強会 デジタルデータ

第1回 ITパスポート社内勉強会 デジタルデータ

第1回 ITパスポート勉強会の資料です。

【コーポレートサイト】
https://yojo.co.jp/

【採用情報】
https://herp.careers/v1/yojo

More Decks by PharmaX(旧YOJO Technologies)開発チーム

Other Decks in Technology

Transcript

  1. これが10進数! デジタルデータ 我々は様々な数字を扱います。 ex) 100円, LTV, ユーザーID Q. 1桁で何パターン表せるでしょう? A.

    0~9で10パターンまで表現できます。 0.1…8.9.10.11…18.19.20….. 10進数 9の次の状態(10)を表すには桁がもう1つ必要ですね 10パターンを何桁も繰り返すことで無限の状態を表すことができます! ex) 1×10 => 10、10×10 => 100、 100×10 => 1000
  2. 2進数 デジタルデータ 1の次がないので桁が上がります 2進数 10進数 0 1 10 11 0

    1 2 3 4 100 ・・・ ・・・ 2パターンしか表現できなくても、それを何桁も繰り返すことで無限に数字を表現できます 101 110 111 1000 5 6 7 8 2進数:1の次がないので位の数が1になったら次は繰り上げ 10進数:9の次がないので位の数が9になったら次は繰り上げ Ex) 9 + 1 = 10 99 + 1 = 100 Ex) 1 + 1 = 10 11 + 1 = 100
  3. 2進数から10進数へ デジタルデータ 10進数 1234.56 分解すると… 1×10³ + 2×10² + 3×10¹

    + 4×10⁰ + 5×10-1 + 6×10-2 1000 200 30 4 0.5 0.06 + + + + + 「位の数」×「桁の重み」を全部足すとその数が表せます! 位の数:1,2,3,4,5,6 桁の重み:千の位なら1000(10³)、一の位なら1(10⁰)、少数第一位なら1/10(10-1) 位の数は1なのに、頭の中では1000をかけてますよね! これを桁の重みといいます。
  4. 2進数から10進数へ デジタルデータ 2進数 1 0 1 1 . 1 1

    1× 2³ + 0× 2² + 1× 2¹ + 1× 2⁰ + 1× 2-1 + 1× 2-2 8 0 2 1 0.5 0.25 + + + + + 「位の数」×「桁の重み」を全部足すと、、、 = 11.75 (10進数) 桁の重み 2² 2³ 2¹ 2⁰ 2-1 2-2 2進数では桁の重みが違います! つまり2進数の1011.11は、10進数に変換すると11.75になります! 「位の数」×「桁の重み」を全部足すことで2進数から10進数に変換できます!
  5. 2進数から10進数へ デジタルデータ 2進数 1 0 1 1 . 1 1

    実際に解いてみましょう! 桁の重み 2² 2³ 2¹ 2⁰ 2-1 2-2 2進数では桁の重みが違います! 問1 11.1 問2 1111.11 1x2¹ + 1x2⁰ + 1x2-1 = 3.5 1×2³ + 1×2² + 1×2¹ + 1×2⁰ + 1×2-1 + 1×2-2 =15.75 A. 3.5 A. 15.75
  6. 0 今度は逆に10進数を2進数に変換しましょう! デジタルデータ 11.75 ÷ 16 = 0 … 11.75

    11.75 ÷ 8 = 1 … 3.75 3.75 ÷ 4 = 0 … 3.75 3.75 ÷ 2 = 1 … 1.75 1.75 ÷ 1 = 1 … 0.75 0.75 ÷ 0.5 = 1 … 0.25 0.25 ÷ 0.25 = 1 … 0 まず、桁の重みごとに何個入るかを考えましょう! 11.75は2進数にすると…? つまり1011.11になります! 10進数は2nが大きい順に何個入るか考えていけば変換できます! 2⁴は入らないのでこの桁は 2³は1つ入るのでこの桁は 2²は入らないのでこの桁は 2¹は1つ入るのでこの桁は 2⁰は1つ入るのでこの桁は 2-1は1つ入るのでこの桁は 2-2は1つ入るのでこの桁は 1 0 1 1 1 1
  7. 今度は逆に10進数を2進数に変換しましょう! デジタルデータ 10進数は2nが大きい順に何個入るか考えていけば変換できます! 実際に解いてみましょう! 問1 22 問2 42.25 22 ÷

    16 = 1 … 6 6 ÷ 8 = 0 … 6 6 ÷ 4 = 1 … 2 2 ÷ 2 = 1 … 0 A. 1011 A. 101010.01 42.25 ÷ 32 = 1 … 10.25 10.25 ÷ 16 = 0 … 10.25 10.25 ÷ 8 = 1 … 2.25 2.25 ÷ 4 = 0 … 2.25 2.25 ÷ 2 = 1 … 0.25 0.25 ÷ 1 = 0 … 0.25 0.25 ÷ 0.5 = 0 … 0.25 0.25 ÷ 0.25 = 1
  8. 2進数の足し算 デジタルデータ 1 0 1 1 . 1 1 1+1

    = 10になることが分かれば大丈夫です! 繰り上がり 1 0 1 1 . 1 1 + 1 0 1 1 1 . 1 0 1 1 1 1 1 繰り上がり条件以外は10進数と同じやり方ですね!
  9. 2進数の引き算 デジタルデータ 2 – 1 コンピューターは引き算を負の数の足し算で計算します。 「-1」ってどう表すの、、、? 8桁までと決めたので 9桁目を無視すると… 2

    → 00000010 2 + (–1) 負の数を表すためには条件を2つ決めます! 1. 桁数を決めます 2. 先頭の1桁で符号を表すようにします (0→正 1→負) 8桁までの数と決めると -1 → 11111111 + 11111111 00000010 100000001 A. 00000001 なぜ-1が11111111になるかは次で説明します。 +1になりました!
  10. 00000001 + = 00000000 デジタルデータ なぜ-1は11111111と表せるのか 1 + -1 は0になるはずですよね!

    8桁の2進数だとすると… ? ? に入るものはなんでしょう? 1に何かを足すと0になる 幻の9桁目をつかいましょう! 00000001 + 11111111 = 100000000 8桁までと決めたので 9桁目は無視 このように次の桁に繰り上げをさせる数を補数といいます!
  11. 2進数の足し算・引き算 デジタルデータ 実際に解いてみましょう! 問1 10110を3倍した数は? 問2 10進数の -3 を2進数(8桁)にすると? =10110

    + 10110 + 10110 =101100 + 10110 =1000010 A. 1000010 A. 11111101 3 → 00000011 00000011 + ? = 00000000 00000011 + 11111101 100000000 9桁目は無視されるので 11111101を足すと0になってくれますね ヒント:足し算をつかいましょう
  12. この単位を bit (b) と呼びます デジタルデータ 2進数1桁につき1bit 2進数1桁が、機械のわかる最小の単位です 1セット ビットとバイト OR

    これだと大きな数字を扱う時に大変なので、 8桁をセットにした単位があります この単位を Byte (B) と呼びます 8 bit で 1 Byte
  13. デジタルデータ Q. 1バイトで表せる数はいくつでしょう? 2パターンが8つあるので 8 bit 2⁸ = 256通り A.

    256種類 例えばHDDだと… 1TB保存するよ! T(テラ)は1012なので 256,000,000,000,000 2進数256兆ケタ分のデータ!