計算機使用二進位制,另外常用的還有八進位制、十進位制和十六進製制。
(1)二進位制:滿2進1,0~1表示,在jdk1.7之前程式中不容許定義二進位制數字,從jdk1.7開始可以定義。一般以0b/0b作為開頭
(1)八進位制:滿8進1,0~7表示,一般以0作為開頭
(1)十進位制:滿10進1,0~9表示,如果數字前面沒有特殊標識,就是十進位制
(1)二進位制:滿16進1,0~9,a~f表示,一般以0x/0x作為開頭
(1) 十進位制向其他進製的轉換:除以對應的進製,餘數倒排
(2)其他進製向十進位制的轉換:從低位開始,按位次乘以進製的位次次冪,然後加起來
二進位制和十進位制的相互轉換
根據上面的進製轉換規則,可以演練一下二進位制和十進位制的相互轉換,如將十進位制的18轉換為2進製。
如圖所示,將十進位制數字除以對應的要轉換的進製2,將餘數倒排獲取,就得到了十進位制18的二進位制形式10010。如果要將這個二進位制數字反過來再轉化為十進位制數字,按照從低位開始,按位次取冪再求和,得到1*2^4+1*2^1=18。
二進位制和八進位制的相互轉換
二進位制和八進位制的轉換也有相應規則,二進位制轉化為八進位制,3位變1位,不夠的位數高位補0,因此上述的10010補全高位就是010010,轉換為八進位制就是22。然後八進位制轉二進位制,是按照一變三,即八進位制一位變成二進位制的三位,這樣反過來22變成010010,去掉高位就是10010。
二進位制和十六進製制相互轉換
二進位制和十六進製制的轉換也有相應規則,二進位制轉化為十六進製制,4位變1位,不夠的位數高位補0,因此10010補全高位就是00010010,轉換為十六進製制就是12。然後反過來轉換為二進位制,是按照一變四,變成00010010,去掉高位就是10010。
小數轉換二進位制分為兩部分,小數的整數部分正常的轉換為二進位制,小數的小數部分乘以2,取相乘後的數整數部分,然後繼續取相乘數小數部分乘以2,取相乘後的數整數部分,如此反覆。
如十進位制的10.125如果轉換為二進位制,首先將10轉換為二進位制就是1010,然後開始迴圈乘小數部分取整數,如此反覆。
step1 0.125*2=0.25,取整數部分 0
step2 0.25*2=0.50,取整數部分 0
step3 0.50*2=1.0,取整數部分1
計算結束,這樣10.125如果要用二進位制來表示,就是1010.001。這種情況是能比較準確得到二進位制數的,如果是其他數字呢?可以看乙個普通的小數來轉換為二進位制,就10.3如何轉換為二進位制。
step1 0.3*2=0.6 ,取整數部分0
step2 0.6*2=1.2,取整數部分1
step3 0.2*2=0.4,取整數部分0
step4 0.4*2=0.8,取整數部分0
step5 0.8*2=1.6,取整數部分1
step6 0.6*2=1.2,取整數部分1
可以發現這個取不盡,最後應該是乙個迴圈二進位制的小數形式1010.01001 1001 1001 1001....。
計算機進製轉換
一 計算機只認識0和1,二進位制。二 2進製轉換成 8進製 和 16進製制,如下圖 二進位制 八進位制 研究上圖發現,3位最高二進位制可以用來表示一位八進位制。所以,將二進位制分解每3位,不夠前面補0,然後每3位轉換為10進製,順序排列即可。二進位制 十六進製制 4位最高二進位制可以用來表示一位十六...
計算機常用進製及進製之間的轉換
二數制 萊布尼茲 計算機中使用電路開關狀態對應二數制,開代表1,關代表0 乙個字長8位 8bit 1byte 8b 1b 1024b 1kb 1024kb 1gb 1024gb 1tb 1024tb 1pb 把十個個開關放到一起為一組 即1024 十進位制 0 9 二進位制 0 1 以補碼 的形式儲...
計算機知識 進製轉換
一 進製計數制的基本概念 將數字符號按序排列成數字,並遵照某種由低位到高位進製的方法進行計數,來表示數值的方式,稱作進製計數制。比如,我們常用的是十進位計數制,簡稱十進位制 就是按照 逢十進一 的原則進行計數的。進製計數制的表示主要包含三個基本要素 數字 基數和位權。數字是指數碼在乙個數中所處的位置...