1.写个程序,它读取一个整数,并以二级制、八进制、十六进制输出。以十六进制浮点数输出倒数。
十进制转二进制和转八进制类似,所以就给出转二进制方法。在Java中十进制转二进制有三种方法。
第一种 除基倒取余法
这是最符合我们平时的数学逻辑思维的,即输入一个十进制数n,每次用n除以2,把余数记下来,再用商去除以2...依次循环,直到商为0结束,把余数倒着依次排列,就构成了转换后的二进制数。
public void binaryToDecimal(int n){
String str = "";
while(n!=0){
str = n%2+str;
n = n/2;
}
System.out.println(str);
}第二种:利用“移位”操作实现
public void binaryToDecimal(int n){
for(int i = 31;i >= 0; i--)
System.out.print(n >>> i & 1);
}
第三种:调用API函数
public void function1(int n){
String result = Integer.toBinaryString(n);
System.out.println(result);
}Java中十进制转16进制其实和十进制转二进制差不多,只是因为十六进制包含字母所以略微有些差异。
public static void binaryToDecimal(int n){
String str = "";
while(0!=n){
if(n%16<10){
str = n%16+str;
}else{
switch (n%16) {
case 10:
str = "A"+str;
break;
case 11:
str = "B"+str;
break;
case 12:
str = "C"+str;
break;
case 13:
str = "D"+str;
break;
case 14:
str = "E"+str;
break;
case 15:
str = "F"+str;
break;
}
}
n = n/16;
}
System.out.println(str);
}
版权声明:本文为niehewang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。