想把內功練好不想被說複製貼上工程師
所以決定從 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)
要一直無限增加數字
就一直增加位元就是了