- 输入一个十进数,将其转换成 N (大于0小于16)进制数
public class text5 {
/**
* 输入一个十进数,将其转换成 N 进制数(0<N<=16)。
*/
public static void main(String[] args) {
char arr[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A','B', 'C', 'D', 'E', 'F' };
Scanner scanner = new Scanner(System.in);
int k = Integer.parseInt(scanner.next());
int k1 = Integer.parseInt(scanner.next());
String p = "";
char arr1[] = new char[k1];
for (int i = 0; i < k1; i++) {
arr1[i] = arr[i];
}
while (k != 0) {
int d = k % k1;
p += arr[d];
k = k / k1;
}
for (int i = p.length() - 1; i >= 0; i--) {
System.out.print(p.charAt(i));
}
}
}
2.输入两个正整数X,Y,将X,Y化为二进制数,然后将这两个二进制数作二进制加法运算,再将结果化为十进制数输出
public class text8 {
/**
* 输入两个正整数X,Y,将X,Y化为二进制数, 然后将这两个二进制数作二进 制加法运算,再将结果化为十进制数输出。
*/
private static ArrayList<Integer> list = new ArrayList<Integer>();
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int k = Integer.parseInt(scanner.next());
int k1 = Integer.parseInt(scanner.next());
String str = Integer.toBinaryString(k);// 将十进制的数字转换为二进制(系统)
String str1 = Integer.toBinaryString(k1);
add(str, str1);
String str3 = "";
for (int j = list.size() - 1; j >= 0; j--) {
str3 += list.get(j).toString();
}
System.out.println(ZH2_10(str3));
}
// 两个二进制的数字相加(转换成十进制的数字返回)
public static void add(String str, String str1) {
int k = Integer.parseInt(str);
int k1 = Integer.parseInt(str1);
System.out.println(k);
System.out.println(k1);
int d = 0, d1 = 0;
while (k != 0 || k1 != 0) {
d = k % 10;
d1 = k1 % 10;
if (d + d1 > 1) {
list.add(10);
} else if (d + d1 == 1) {
list.add(1);
} else if (d + d1 == 0) {
list.add(0);
}
k = k / 10;
k1 = k1 / 10;
}
}
// 将二进制的数字转换为十进制(自定义)
public static int ZH2_10(String str) {
int k = 0;
int n = 0;
for (int i = 0; i < str.length(); i++) {
k += Math.pow(2, n);
n++;
}
return k;
}
}
3.代码把16进制表示的串转换为3进制表示的串
public class text8 {
/**
* 代码把16进制表示的串转换为3进制表示的串
*/
public static void main(String[] args) {
System.out.println(jin_zhi_16_3("c"));
}
private static int getRealValue(char x) {
if (x >= '0' && x <= '9')
return x - '0';
if (x >= 'a' && x <= 'f')
return x - 'a' + 10;
if (x >= 'A' && x <= 'F')
return x - 'A' + 10;
return 0;
}
public static String jin_zhi_16_3(String x) {
int n = 0; // 累加真值
for (int i = 0; i < x.length(); i++) {
n = n + getRealValue(x.charAt(i)); // 填空
}
String t = "";
for (;;) {
if (n == 0)
break;
t = (n % 3) + t;
n = n / 10; // 填空
}
return t;
}
}