二進制和十進制怎么互相轉(zhuǎn)化?
老基肉
進制轉(zhuǎn)換其實并不難,理解了進制的機制就可以輕松的進行換算了,十進制簡單說就是滿十進一位,前一位加一,二進制一樣,滿2進一位,前位加一,下面舉幾個小例子來說明一下
首先是二進制轉(zhuǎn)十進制。介紹一種容易懂的方法,以小數(shù)點為界,小數(shù)點左一位對應(yīng)的值為2的0次方,左二位對應(yīng)的值為2的1次方,左邊的類推,次方是遞增的,而小數(shù)點后面的第一位取2的-1次方,后面的第二位取2的-2次方,右邊的類推,次方遞減,舉個例子如下圖,將對應(yīng)位上的數(shù)字相乘,然后相加即可得到十進制的數(shù)
在二進制里,默認八位,沒有的可以補零,上面的例子是正數(shù),因為補零后00000011.111,首位是0的是正數(shù),1則是負數(shù),下面就介紹下負數(shù)的轉(zhuǎn)化。對于負數(shù),首先取反,也就是0變1,1變0,加負號,然后在按小數(shù)點方法計算出對應(yīng)的值加個負號即可,舉個例子如下圖
十進制轉(zhuǎn)二進制比較好轉(zhuǎn),使用連除法就可以,除到商是0為止,然后按倒序排列即可,舉個例子
若是負數(shù)的十進制轉(zhuǎn)二進制,先按正數(shù)的連除法轉(zhuǎn),將結(jié)果按照八位補齊,取反,末位加一,舉個例子,還是上圖的中的58,先求得二進制,取反后末位加一,得到-58的二進制為11000110