標籤:
原文轉載:http://jingyan.baidu.com/article/597a0643614568312b5243c0.html
-
轉成二進位主要有以下幾種:正整數轉二進位,負整數轉二進位,小數轉二進位;
1、 正整數轉成二進位。要點一定一定要記住哈:除二取餘,然後倒序排列,高位補零。
也就是說,將正的十進位數除以二,得到的商再除以二,依次類推知道商為零或一時為止,然後在旁邊標出各步的餘數,最後倒著寫出來,高位補零就OK咧。哎呀,還是舉例說明吧,比如42轉換為二進位,1所示操作。
42除以2得到的餘數分別為010101,然後咱們倒著排一下,42所對應二進位就是101010.2所示更直觀的表達。
電腦內部表示數的位元組單位是定長的,如8位,16位,或32位。所以,位元不夠時,高位補零,所說,3所示,42轉換成二進位以後就是。00101010,也即規範的寫法為(42)10=(00101010)2.趕緊記住吧。
2、 負整數轉換成二進位
方法:先是將對應的正整數轉換成二進位後,對二進位取反,然後對結果再加一。還以42為例,負整數就是-42,4所示為方法解釋。最後即為:(-42)10=(11010110)2.
3、 小數轉換為二進位的方法:對小數點以後的數乘以2,有一個結果吧,取結果的整數部分(不是1就是0嘍),然後再用小數部分再乘以2,再取結果的整數部分……以此類推,直到小數部分為0或者位元已經夠了就OK了。然後把取的整數部分按先後次序排列就OK了,就構成了二進位小數部分的序列,舉個例子吧,比如0.125,5所示。
如果小數的整數部分有大於0的整數時該如何轉換呢?如以上整數轉換成二進位,小數轉換成二進位,然後加在一起就OK了,6所示。
4、 整數二進位轉換為十進位:首先將位元補齊位元,首位如果是0就代表是正整數,如果首位是1則代表是負整數。
先看首位是0的正整數,補齊位元以後,將二進位中的位元分別將下邊對應的值相乘,然後相加得到的就為十進位,比如1010轉換為十進位,方法7所示。
5、若二進位補足位元後首位為1時,就需要先取反再換算:例如,11101011,首位為1,那麼就先取反吧:-00010100,然後算一下10100對應的十進位為20,所以對應的十進位為-20,方法8所示。
6、將有小數的二進位轉換為十進位時:例如0.1101轉換為十進位的方法:將二進位中的四位元分別於下邊(9所示)對應的值相乘後相加得到的值即為換算後的十進位。
腦補“數學二進位轉十進位”