關鍵字
基本數據類型
進制
進制:進制是一種計數方法,我們生活中最常使用的是十進制數,也就是逢十進一,而在計算機中數據存儲的方式采用的是二進制數,也就是逢二進一,常見的進制還有八進制和十六進制。
1.進制的轉換
進制之間的轉換,最常使用到的是十進制轉換為其他進制,其他進制轉換為十進制,而十進制也可以作為中介,用作於其他進制間的轉換,現在我們以最常用的十進制轉二進制和二進制轉十進制為例進行講解,其他進制轉換也雷同:
(1)十進制轉二進制
-
十進制數:35
-
方法:將十進制數連續除以2(幾進制就除以幾),記錄每次除以2后的余數,最后將余數倒過來寫,如不足8位在最右側補上0,這就是最終的二進制數。
-
因為二進制習慣用8的次方數進行表示,所以需要補0,最終十進制35的二進制數就是0010 0011。
(2)二進制轉十進制數
- 二進制數:1000 1010
- 方法:從右往左的給二進制的每一位從0開始標上序號,將每一位的值乘以2(幾進制就乘以幾)的序號次方,並將每一位算出的結果加起來得到的數就是該二進制數的十進制表示。
2. java代碼實現進制轉換
(1)十進制轉二進制
public static void TentoTwo(long n) {
long res = 0;
int i = 1;
while(n>0) {
res += n % 2 * i;
n /= 2;
i *= 10;
}
System.out.println(res);
}
(2) 二進制轉十進制數
//二進制轉十進制數
public static void TwotoTen(long n) {
long res = 0;
int i =0;
while(n>0) {
res += n%10 * mi(2,i);
n /= 10;
i++;
}
System.out.println(res);
}
//實現某數的冪次方,a的b次方
public static int mi(int a, int b) {
if(b == 0 ) {
return 1;
}else if(b == 1) {
return a;
}else {
int c = a;
for(int i = 1; i<b; i++) {
a *= c;
}
}
return a;
}
更多精彩內容敬請關注微信公眾號:【平兄聊Java】