C語言基礎:二進制和計算機語言雜談 二進制100101轉成十進制是多少

說計算機語言之前 , 先要說明計算機的工作原理 。如果是最簡化的描述計算機 , 那么它就是很多很多個開關 。這些開關組合成了一些邏輯電路 , 很多很多個邏輯電路組合在一起就變成了計算機的處理器(CPU) , 在加上儲存設備 , 輸入輸出設備就變成一個現在的計算機的樣子了 。因為計算機底層就是很多很多開關 , 如何用電來表示這些開關呢 , 其實有很多個方案 , 比如用固定的電壓表示開和關 , 比如220v表示開 , 12v表示關 , 但是電壓是很不穩定的 , 用電多了會降低 , 少了會升高 , 所以用具體電壓值表示開和關是很不方便的 , 人們采用了另外一種方案:電壓的高低 。不用具體的數值 , 只用一個大致的范圍表示開和關 , 比如4-5v表示高電平 , 0v表示低電平 , 這樣就得到一個表示開和關的穩定的衡量標準了 。

C語言基礎:二進制和計算機語言雜談 二進制100101轉成十進制是多少


正因為用電壓的高低可以穩定的表示開和關 , 所以計算機在計算機中只有兩個狀態來傳遞信息 , 一個高電平 , 一個低電平 , 在計算機中 , 用1表示高電平 , 用0表示低電平 。
【C語言基礎:二進制和計算機語言雜談 二進制100101轉成十進制是多少】所以 , 計算機世界中 , 只有0和1 , 其它的什么都沒有 。
我們現實生活中用的是的十進制 , 就是只有0到9這十個數字 , 計算機只有0和1 , 它如何表示各種各樣的數字呢 , 這個時候 , 人們就定制了一個規則 , 就說這個規則全世界的計算機都要符合它 。這個規則就是用1和0來表示十進制數字 , 這種規則就叫做二進制 。
它確定了二進制轉換十進制的公式 。
C語言基礎:二進制和計算機語言雜談 二進制100101轉成十進制是多少


舉個例子 , 這是一串二進制 100101
人們規定了它轉換成十進制的方法:從右到左 , 依次從第0位開始 , 注意不是第1位 , 第0位是1 , 第1位是0 , 第二位是1 , 第三位是0 , 第四位是0 , 第五位是1 , 這樣數 , 然后怎么算十進制呢 , 每一位就是2的位數次方乘以這一位的值 , 然后相加 , 比如第五位是1 , 就是2的5次方乘以這一位 , 也就是2的5次方乘以1 , 等于32 。
明白了二進制是個什么東西之后 , 下面我們就可以談計算機語言的發展了 。
1.機器語言
計算機剛發明出來的時候 , 指令都是一些開關 , 用這些開關來給CPU輸入一些二進制的指令 , 比如輸入
1110101表示一種指令 , 輸入110000又表示另外一種指令 , 沒錯 , 就是這么萌 , 那個時候寫好的程序就是很多很多的0和1……
毫無疑問 , 這很不利于程序的編寫和修改 , 因此 , 更高級的匯編語言出現啦!
C語言基礎:二進制和計算機語言雜談 二進制100101轉成十進制是多少


2.匯編語言
匯編語言就沒有很多的0和1了 , 而是用到了十六進制和一些英文縮寫指令 , 比如
MOV A , 13
ADD A , 8
這就比1和0好看很多了 , 但還是不夠好 , 還是很難看懂的 。

推薦閱讀