
public void test() { byte[] bytes = new byte[10000000]; for (int i = 0; i < 10000000; i++) { if (i%3 == 0) { bytes[i] = 0; } else { bytes[i] = 1; } } System.out.println("可以轉換的進制范圍:" + Character.MIN_RADIX + "-" + Character.MAX_RADIX); System.out.println("2進制:" + binary(bytes, 2)); System.out.println("5進制:" + binary(bytes, 5)); System.out.println("8進制:" + binary(bytes, 8)); System.out.println("16進制:" + binary(bytes, 16)); System.out.println("32進制:" + binary(bytes, 32)); System.out.println("64進制:" + binary(bytes, 64));// 這個已經超出范圍,超出范圍后變為10進制顯示 System.exit(0); } /** * 將byte[]轉為各種進制的字符串 * @param bytes byte[] * @param radix 基數可以轉換進制的范圍(2-36),從Character.MIN_RADIX到Character.MAX_RADIX,超出范圍后變為10進制 * @return 轉換后的字符串 */ public static String binary(byte[] bytes, int radix){ return new BigInteger(1, bytes).toString(radix);// 這里的1代表正數 }