CS50 2017 - Lecture 0 - binary 自學筆記 [1]

想把內功練好不想被說複製貼上工程師

所以決定從 CS50 開始看起

 

 

先附影片連結

https://www.youtube.com/watch?v=y62zj9ozPOM&t=595s

 

CS50 是哈佛的程式通識課程

花了很久又零碎的時間結果只有把 

05:08~10:29 binary 講二進位的地方聽完

下面是我自己把 binary內文看完後做的重點節錄

 

1.電腦用二進位,人類用十進位
 
  電腦只懂有限數字 
  ex:
  0&1,就二進位
  人類通常用十進位

 

2.二進位的優點

  用0跟1就可以產出結果,有效率
 
  ex:
  用一位元(unary)的方式
  用一隻手算數算到32
  表達數字時用不同的手指排列組合(pattern)
  就能達到效果

  感想:老師講二進位卻又跳到一位元的方式講解
       應該只是想講除了十進位也有其他方法
       能表達數字

 

3.十進位與二進位的例子

  123 只是象形符號
  人類讓他有數學意義
  右邊算到左邊,個十百千萬
  10 的 0 次->1 (個位數)
  10 的 1 次->10(十位數)
  10 的 2 次->100(百位數)

  123 = 100 + 20 + 3

  電腦也是用同樣邏輯運作
  用 2 的幾次方 來算二進位
  2 的 0次 -> 1
  2 的 1次 -> 2 
  2 的 2次 -> 3
  2 的 3次 -> 8

  所以,
  0用二進位表達 -> 0
  1用二進位表達 -> 1
  2用二進位表達 -> 10 (進位pattern變成10)

  要一直無限增加數字
  就一直增加位元就是了