本文主要是介绍趣闻进制转换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 输入一个十进数,将其转换成 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;}}
这篇关于趣闻进制转换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!