精品偷拍一区二区三区,亚洲精品永久 码,亚洲综合日韩精品欧美国产,亚洲国产日韩a在线亚洲

  • <center id="usuqs"></center>
  • 
    
  • 016如何轉(zhuǎn)換成二進(jìn)制數(shù)

    016如何轉(zhuǎn)換成二進(jìn)制數(shù)
    其他人氣:803 ℃時間:2020-02-05 17:01:18
    優(yōu)質(zhì)解答
    /*
    00開始為二進(jìn)制、0x或0X開始的為十六進(jìn)制、0開始為八進(jìn)制、正常的為十進(jìn)制其中0為數(shù)字零
    */
    public class To {
    /**
    * 將給定的一個進(jìn)制數(shù) 轉(zhuǎn)換成其它三種進(jìn)制數(shù)
    * 如:給定一個十進(jìn)制數(shù) 轉(zhuǎn)換成二進(jìn)制數(shù)、八進(jìn)制數(shù)和十六進(jìn)制數(shù)
    * 而:給定一個二進(jìn)制數(shù) 轉(zhuǎn)換成八進(jìn)制數(shù)、十進(jìn)制數(shù)和十六進(jìn)制數(shù)
    */
    private static String error = null;
    private static char[] a = { '0', '1', '2', '3', '4', '5', '6', '7',
    '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
    /**
    * 給定一個數(shù) 將其轉(zhuǎn)換
    */
    public static void main(String[] args) {
    String number = "016";
    int to10 = to10(number);
    System.out.println(number + "二進(jìn)制: " + toNumber(to10, 2));
    System.out.println(number + "八進(jìn)制: " + toNumber(to10, 8));
    System.out.println(number + "十進(jìn)制: " + toNumber(to10, 10));
    System.out.println(number + "十六進(jìn)制: " + toNumber(to10, 16));
    }
    public static String toNumber(int number, int n) {
    String str = "";
    for (int i = 0; i < n; i++) {
    if (number == i) {
    str = a[i] + str;
    return str;
    }
    }
    str = a[number % n] + str;
    str = toNumber(number / n, n) + str;
    return str;
    }
    /**
    * 將給定的數(shù) 轉(zhuǎn)換成十進(jìn)制數(shù)
    */
    public static int to10(String str) {
    int number = 0;
    int status = 10;
    if (str.charAt(0) == '0') {
    if (str.charAt(1) == 'x' || str.charAt(1) == 'X') {
    status = 16;
    str = str.substring(2);
    } else if (str.charAt(1) == '0') {
    status = 2;
    str = str.substring(2);
    } else {
    status = 8;
    str = str.substring(1);
    }
    }
    number = stringToInt(str, status);
    return number;
    }
    public static int stringToInt(String str, int status) {
    int number = 0;
    int k = 0;
    int s = 1;
    int leng = str.length() - 1;
    for (int i = str.length() - 1; i >= 0; i--) {
    if (error != null) {
    break;
    }
    if(k > 0) {
    s *= status;
    }
    System.out.println(s);
    switch (str.charAt(i)) {
    case '0':
    number = number + 0 * s;
    k++;
    break;
    case '1':
    number = number + 1 * s;
    k++;
    break;
    case '2':
    if (2 >= status) {
    error = "數(shù)據(jù)出錯!";
    break;
    }
    number = number + 2 * s;
    k++;
    break;
    case '3':
    if (3 >= status) {
    error = "數(shù)據(jù)出錯!";
    break;
    }
    number = number + 3 * s;
    k++;
    break;
    case '4':
    if(4 >= status) {
    error = "數(shù)據(jù)出錯!";
    break;
    }
    number = number + 4 * s;
    k++;
    break;
    case '5':
    if(5 >= status) {
    error = "數(shù)據(jù)出錯!";
    break;
    }
    number = number + 5 * s;
    k++;
    break;
    case '6':
    if(6 >= status) {
    error = "數(shù)據(jù)出錯!";
    break;
    }
    number = number + 6 * s;
    k++;
    break;
    case '7':
    if(7 >= status) {
    error = "數(shù)據(jù)出錯!";
    break;
    }
    number = number + 7 * s;
    k++;
    break;
    case '8':
    if(8 >= status) {
    error = "數(shù)據(jù)出錯!";
    break;
    }
    number = number + 8 * s;
    k++;
    break;
    case '9':
    if(9 >= status) {
    error = "數(shù)據(jù)出錯!";
    break;
    }
    number = number + 9 * s;
    k++;
    break;
    case 'A':
    if(10 >= status) {
    error = "數(shù)據(jù)出錯!";
    break;
    }
    number = number + 10 * s;
    k++;
    break;
    case 'B':
    if(11 >= status) {
    error = "數(shù)據(jù)出錯!";
    break;
    }
    number = number + 11 * s;
    k++;
    break;
    case 'C':
    if(12 >= status) {
    error = "數(shù)據(jù)出錯!";
    break;
    }
    number = number + 12 * s;
    k++;
    break;
    case 'D':
    if(13 >= status) {
    error = "數(shù)據(jù)出錯!";
    break;
    }
    number = number + 13 * s;
    k++;
    break;
    case 'E':
    if(14 >= status) {
    error = "數(shù)據(jù)出錯!";
    break;
    }
    number = number + 14 * s;
    k++;
    break;
    case 'F':
    if(15 >= status) {
    error = "數(shù)據(jù)出錯!";
    break;
    }
    number = number + 15 * s;
    k++;
    break;
    default:
    error = "數(shù)據(jù)出錯!";
    break;
    }
    }
    if(error != null) {
    System.out.println(error);
    }
    return number;
    }
    }
    我來回答
    類似推薦
    請使用1024x768 IE6.0或更高版本瀏覽器瀏覽本站點,以保證最佳閱讀效果。本頁提供作業(yè)小助手,一起搜作業(yè)以及作業(yè)好幫手最新版!
    版權(quán)所有 CopyRight © 2012-2024 作業(yè)小助手 All Rights Reserved. 手機版