1. 程式人生 > >Java學習03-進制學習

Java學習03-進制學習

數據 依次 span 記錄 gpo 十進制 pre 余數 ava

計算機中是以二進制來進行數據傳遞的,二進制分為二進制、八進制、十進制、十六進制

而他們之間如何進行轉換呢,二進制作為元,其他進制都是經二進制進行換算的,所以無論什麽進制之間的轉換都是先轉換為二進制,再由二進制轉換為目標進制。

一、進制介紹

二進制:0-1,滿2進1

八進制:0-7,滿7進1,由3個二進制位為1個八進制位,例:二進制10101011  八進制010-101-011

十進制:0-9,滿10進1

十六進制:0-9  A-F,滿16進1,由4個二進制位為1個十六進制位,例:二進制10101011  八進制0000-1010-1011

二、進制轉換

進制間的轉換都是基於二進制進行的,故下面只記錄二進制與其他進制間的轉換。

1、十進制與二進制之間的轉換

十進制6 -> 二進制110

計算過程:

十進制整數轉換為二進制整數采用"除2取余,逆序排列"法。

具體做法是:用2整除十進制整數,可以得到一個商和余數;再用2去除商,又會得到一個商和余數,如此進行,直到商為0時為止,

然後把先得到的余數作為二進制數的低位有效位,後得到的余數作為二進制數的高位有效位,依次排列起來。

6/2 =3---0

3/2 =1---0

1/2 =0---1

余數逆排序的110



二進制110 -> 十進制6

計算過程:

110 = 1*2(2)+1*2(1)+1*2(0) =4+2+0=6 

2、八進制與二進制間的轉換

二進制1100101 -> 八進制145

計算過程:

將二進制三位一組進行分組,根據二進制轉十進制的方法,算出每組的值

1100101 -> 001-100-101

-> 0*2(2)+0*2(1)+1*2(0) 1*2(2)+0*2(1)+0*2(0) 1*2(2)+0*2(1)+1*2(0)

-> 1 4 5

即八進制145

待更新

Java學習03-進制學習