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

Jak postavit slovník z jedniček a nul

Petr Viktorin
September 29, 2016

Jak postavit slovník z jedniček a nul

Slajdy k začátačnické přednášce o jedničkách a nulách, a o počítačové paměti.

Petr Viktorin

September 29, 2016
Tweet

More Decks by Petr Viktorin

Other Decks in Technology

Transcript

  1. Jak postavit slovník
    z jedniček a nul
    Petr Viktorin
    encukou.cz
    [email protected]
    Brněnské Pyvo, 2016-09-29

    View full-size slide

  2. 0V 3V
    Image © Eric Gaba, Wikimedia Commons user Sting, CC-BY-SA: https://en.wikipedia.org/wiki/File:Cyrix_IBM_CPU_6x86MX_PR20

    View full-size slide

  3. ♥ 
    Image © Wikimedia user Quartl, CC-BY-SA: https://commons.wikimedia.org/wiki/File:Leucanthemum_vulgare_qtl1.jpg

    View full-size slide

  4. Bude zítra
    pršet?

    View full-size slide

  5. Bude zítra
    pršet?
     Ano

    View full-size slide

  6. Bude zítra
    pršet?
     Ano
     Ne

    View full-size slide

  7. Bude zítra
    pršet?
     Ano
     Ne
     Nevím

    View full-size slide

  8. Bude zítra
    pršet?
     Ano
     Ne
     Nevím
     S 40% pravděpodobností

    View full-size slide

  9. Bude zítra
    pršet?
     Ano
     Ne
     Nevím
     S 40% pravděpodobností
     Myslíš v Brně?

    View full-size slide

  10. Bude zítra
    pršet?
     Ano
     Ne
     Nevím
     S 40% pravděpodobností
     Myslíš v Brně?
     Podle jakého modelu?

    View full-size slide

  11. Umíš odpovědět „ano” nebo „ne”
    na otázku „Bude zítra pršet?”

    View full-size slide

  12. Umíš odpovědět „ano” nebo „ne”
    na otázku „Bude zítra pršet?”

    Bude zítra pršet?

    View full-size slide

  13. Umíš odpovědět „ano” nebo „ne”
    na otázku „Bude zítra pršet?”

    Bude zítra pršet?

    Aha...
    A je to tím
    že to nevíš
    přesně?

    View full-size slide

  14. Kolik je mi let?

    View full-size slide

  15. Kolik je mi let?
    50

    View full-size slide

  16. Kolik je mi let?
    50

    View full-size slide

  17. Kolik je mi let?
    50

    25

    View full-size slide

  18. Kolik je mi let?
    50

    25

    View full-size slide

  19. Kolik je mi let?
    50

    25

    35

    View full-size slide

  20. Kolik je mi let?
    50

    25

    35

    View full-size slide

  21. Kolik je mi let?
    50

    25

    35

    30

    View full-size slide

  22. Kolik je mi let?
    50

    25

    35

    30

    View full-size slide

  23. Kolik je mi let?
    50

    25

    35

    30
    27

    View full-size slide

  24. Kolik je mi let?
    50

    25

    35

    30
    27

    View full-size slide

  25. Kolik je mi let?
    50

    25

    35

    30
    27
    29

    View full-size slide

  26. Kolik je mi let?
    50

    25

    35

    30
    27
    29

    View full-size slide

  27. Kolik je mi let?
    50

    25

    35

    30
    27
    29
    28

    View full-size slide

  28. Kolik je mi let?
    50

    25

    35

    30
    27
    29
    28

    View full-size slide

  29. Myslím si číslo

    View full-size slide

  30. Myslím si číslo
    2

    View full-size slide

  31. Myslím si číslo
    2
    4

    View full-size slide

  32. Myslím si číslo
    2
    4
    8

    View full-size slide

  33. Myslím si číslo
    2
    4
    8
    16

    View full-size slide

  34. Myslím si číslo
    2
    4
    8
    16
    32

    View full-size slide

  35. Myslím si číslo
    2
    4
    8
    16
    32
    64

    View full-size slide

  36. Myslím si číslo
    2
    4
    8
    16
    32
    64
    128

    View full-size slide

  37. Kolik mi je let?
    64-127? ne
    32-63? ne
    16-31? ano
    24-31? ano
    28-31? ano
    30-31? ne
    29? ano

    View full-size slide

  38. Kolik mi je let?
    ne ne ano ano ano ne ano

    View full-size slide

  39. Kolik mi je let?
    0 0 1 1 1 0 1

    View full-size slide

  40. Kolik mi je let?
    0 +64
    0 +32
    1 +16
    1 +8
    1 +4
    0 +2
    1 +1

    View full-size slide

  41. Nejen čísla
    00001 = 1 = A
    00010 = 2 = B
    00011 = 3 = C
    ...
    11010 = 26 = Z

    View full-size slide

  42. 8 bitů
    0-255
    © Wikimedia user Bilby, CC-BY-SA: https://en.wikipedia.org/wiki/File:Atari_800.jpg

    View full-size slide

  43. 16 bitů
    0-65 535
    © Dragan at the German language Wikipedia, CC-BY-SA: https://commons.wikimedia.org/wiki/File:Amiga_500_(1987).jpg

    View full-size slide

  44. 32 bitů
    0-4 294 967 295
    Public Domain image: https://en.wikipedia.org/wiki/File:Beige_Power_Macintosh_G3_Minitower.jpg

    View full-size slide

  45. 64 bitů
    0-18 446 744 073 709 551 615
    © Anderson Silva, CC-BY-SA: https://opensource.com/life/15/8/beautiful-super-thin-laptop-makes-fedora-shine

    View full-size slide

  46. 8 bitů = 1 byte

    View full-size slide

  47. 0 1 2 3 4 5
    00000000 00000000 00000000 00000000 00000000 00000000

    View full-size slide

  48. 29
    0 1 2 3 4 5
    00000000 00011101 00000000 00000000 00000000 00000000

    View full-size slide

  49. 29 'P'
    0 1 2 3 4 5
    00000000 00011101 01010000 00000000 00000000 00000000

    View full-size slide

  50. 29 'P'
    0 1 2 3 4 5
    00000000 00011101 01010000 00101110 00000000 00000000

    View full-size slide

  51. 29 'P' ○
    0 1 2 3 4 5
    00000000 00011101 01010000 00101110 00111100 00000000

    View full-size slide

  52. 29 'P' ○
    0 1 2 3 4 5
    00000000 00011101 01010000 00101110 00111100 00000000
    29 80 46 60

    View full-size slide

  53. 29 'P' ○
    0 1 2 3 4 5
    00000000 00011101 01010000 00101110 00111100 00000000
    29 80 46 60
    '' 'P' '.' '<'

    View full-size slide

  54. 29 'P' ○
    0 1 2 3 4 5
    00000000 00011101 01010000 00101110 00111100 00000000
    29 80 46 60
    '' 'P' '.' '<'

    View full-size slide

  55. 29 'P' ○
    0 1 2 3 4 5
    00000000 00011101 01010000 00101110 00111100 00000000
    29 80 46 60
    '' 'P' '.' '<'
    ○ ○ ○ ○

    View full-size slide

  56. 0 1 2 3 4 5 6
    00000000 00000000 01000001 01101000 00111100 01101111 00000000
    65 104 111 106 0
    'A' 'h' 'o' 'j' 

    View full-size slide

  57. 0 1 2 3 4 5 6
    00000000 00000004 01000001 01101000 00111100 01101111 00000000
    4 65 104 111 106 0
    délka 'A' 'h' 'o' 'j' 

    View full-size slide

  58. 0 1 2 3 4 5 6
    10010010 00000004 01000001 01101000 00111100 01101111 00000000
    146 4 65 104 111 106 0
    str délka 'A' 'h' 'o' 'j' 

    View full-size slide

  59. 0 1 2 3 4 5 6
    10010010 00000004 01000001 01101000 00111100 01101111 00000000
    146 4 65 104 111 106 0
    str délka 'A' 'h' 'o' 'j' 
    146 147 148 149 150 151 152
    10011010 11101100 11001111 11001100 11011010 11100011 10101101
    type ... ... ... ...

    View full-size slide

  60. A
    B
    C
    D
    E
    F
    G
    H
    0 1 2 3 4 5 6 7

    View full-size slide

  61. A str 4 'A' 'h' 'o' 'j' 
    B
    C
    D
    E
    F
    G
    H
    0 1 2 3 4 5 6 7
    A0: "ahoj"

    View full-size slide

  62. A str 4 'A' 'h' 'o' 'j' 
    B int 1 0 int 1 1
    C
    D
    E
    F
    G
    H
    0 1 2 3 4 5 6 7
    A0: "ahoj"
    B0: 0
    B4: 1

    View full-size slide

  63. A str 4 'A' 'h' 'o' 'j' 
    B int 1 0 int 1 1
    C tupl 2 B0 B4
    D
    E
    F
    G
    H
    0 1 2 3 4 5 6 7
    A0: "ahoj"
    B0: 0
    B4: 1
    C0: (0, 1)

    View full-size slide

  64. A str 4 'A' 'h' 'o' 'j' 
    B int 1 0 int 1 1
    C tupl 2 B0 B4 int 1 2
    D
    E
    F
    G
    H
    0 1 2 3 4 5 6 7
    A0: "ahoj"
    B0: 0
    B4: 1
    C0: (0, 1)
    C5: 2

    View full-size slide

  65. A str 4 'A' 'h' 'o' 'j' 
    B int 1 0 int 1 1
    C tupl 2 B0 B4 int 1 2
    D lst 3 E4
    E B0 B4 C5 
    F
    G
    H
    0 1 2 3 4 5 6 7
    A0: "ahoj"
    B0: 0
    B4: 1
    C0: (0, 1)
    C5: 2
    D0: [0, 1, 2]

    View full-size slide

  66. A str 4 'A' 'h' 'o' 'j' 
    B int 1 0 int 1 1
    C tupl 2 B0 B4 int 1 2
    D lst 4 F1
    E B0 B4 C5 
    F B0 B4 C5 B0 
    G
    H
    0 1 2 3 4 5 6 7
    A0: "ahoj"
    B0: 0
    B4: 1
    C0: (0, 1)
    C5: 2
    D0: [0,1,2,0]

    View full-size slide

  67. A
    B
    C
    D
    E
    F
    G
    H
    0 1 2 3 4 5 6 7

    View full-size slide

  68. A
    B
    C
    D dict 4 8 F0
    E
    F 0 1 2 17
    G → 0 → 1 → 2 → 17
    H → 'a' → 'b' → 'c' → 'd'
    0 1 2 3 4 5 6 7
    D0: {
    0: 'a',
    1: 'b',
    2: 'c',
    17: 'd'}

    View full-size slide

  69. ?
    Petr Viktorin
    @encukou.cz
    [email protected]
    @encukou
    github.com/encukou
    Licence:
    Creative Commons Attribution-ShareAlike 4.0
    http://creativecommons.org/licenses/by-sa/4.0/

    View full-size slide