关键字
基本数据类型
进制
进制:进制是一种计数方法,我们生活中最常使用的是十进制数,也就是逢十进一,而在计算机中数据存储的方式采用的是二进制数,也就是逢二进一,常见的进制还有八进制和十六进制。
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;
}