十进制与二进制
1.十进制转二进制
十进制与二进制的转换,
10—>2 :主要是用10去除2,余数倒序输出即可
2—>10 :用二进制的数的每一位都乘以2的n次方。这个n由位置而定,最后一位就是2的0次方,往前一次n+1,2的1次方,2次方…
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n=in.nextInt();
//二进制
int two=n;
int []c=new int[n];
int i=0;
while(two!=0) {
c[i]=(int) (two%2);
two=two/2;
// System.out.print(c);
i++;
}
for(int j=i-1;j>=0;j--) {
System.out.print(c[j]);
}
}
}
2.二进制转十进制
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String s=in.nextLine();
//二进制
char c[]=s.toCharArray();
int sum=0;
for(int i=0;i<s.length();i++) {
sum+=(c[i]-48)*Math.pow(2, s.length()-1-i);
}
System.out.println(sum);
}
}
十进制与八进制
十进制与八进制的转换类似于十进制与二进制
十进制转化八进制
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n=in.nextInt();
//八进制
int eight=n;
int []c=new int[n];
int i=0;
while(eight!=0) {
c[i]=(int) (eight%8);
eight=eight/8;
// System.out.print(c);
i++;
}
for(int j=i-1;j>=0;j--) {
System.out.print(c[j]);
}
}
}
八进制转化十进制
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String s=in.nextLine();
//八进制
char c[]=s.toCharArray();
int sum=0;
for(int i=0;i<s.length();i++) {
sum+=(c[i]-48)*Math.pow(8, s.length()-1-i);
}
System.out.println(sum);
}
}