第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

十六進(jìn)制轉(zhuǎn)二進(jìn)制——java

十六進(jìn)制轉(zhuǎn)二進(jìn)制——java

富國滬深 2022-01-06 17:34:30
我正在嘗試從十六進(jìn)制轉(zhuǎn)換為二進(jìn)制。我已經(jīng)有了將十進(jìn)制轉(zhuǎn)換為二進(jìn)制的代碼,只是不知道如何從那里開始轉(zhuǎn)換為二進(jìn)制。public static String hexToDec(String valueIn) {    int endNum = 0;    for (int i = 0; i < valueIn.length(); i++) {                 char curDigit = valueIn.charAt(i);        endNum *= 16;             if (curDigit >= 'A' && curDigit <= 'F')                  endNum += 10 + (curDigit - 'A');        else             endNum += curDigit - '0';    }    return "" + endNum;}public static void main(String[] args) {    Scanner keyboard = new Scanner (System.in);    System.out.println("Please enter the decimal number: ");    String valueIn = keyboard.nextLine ();    String outputOut = hexToDec(valueIn);    System.out.println("The output is: " + outputOut);    }public static String decimalToBinary(int valueIn) {    int remainder, i = 0;    String binaryNum = "";    while (valueIn != 0) {        remainder = valueIn % 2;        valueIn /= 2;        binaryNum = remainder+binaryNum;    }    return binaryNum;}public static void main(String[] args) {    Scanner keyboard = new Scanner (System.in);    System.out.println("Please enter the decimal number: ");    int valueIn = keyboard.nextInt ();    String outputOut = decimalToBinary(valueIn);    System.out.println("The output is: " + outputOut);    }
查看完整描述

3 回答

?
小唯快跑啊

TA貢獻(xiàn)1863條經(jīng)驗 獲得超2個贊

您可以簡單地定義自己的映射,并根據(jù)評論完全跳過十進(jìn)制轉(zhuǎn)換路線。


HashMap<char, String> mapping = new HashMap<char, String>();

mapping.put('0', "0000" );

mapping.put('1', "0001" );

mapping.put('2', "0010");

mapping.put('3', "0011");

mapping.put('4', "0100" );

mapping.put('5', "0101");

mapping.put('6', "0110");

mapping.put('7', "0111");

mapping.put('8', "1000");

mapping.put('9', "1001");

mapping.put('a', "1010");

mapping.put('b', "1011");

mapping.put('c', "1100");

mapping.put('d', "1101");

mapping.put('e', "1110");

mapping.put('f', "1111");

然后可以這樣做:


String hexValue = "something";

StringBuilder result = new StringBuilder();

for (char c : hexValue) {

    // need to do some error checking here.

    result.append(mapping[Character.toLowerCase(c)]);

}


System.out.prinltn(result.ToString());


查看完整回答
反對 回復(fù) 2022-01-06
?
侃侃無極

TA貢獻(xiàn)2051條經(jīng)驗 獲得超10個贊

雖然我不想在你目前的方法之間打斷,但我會從評論中說,要將十進(jìn)制轉(zhuǎn)換為二進(jìn)制,你所要做的就是一次又一次地獲得數(shù)字的模數(shù),然后將它們結(jié)合起來全部以相反的順序得到你的二進(jìn)制數(shù)。


這將是一個更長的方法,所以我想說你可以從下面的代碼中獲得靈感。


BigInteger.toString(radix)會做你想做的。只需傳入 2 的基數(shù)。在此處閱讀更多相關(guān)信息。


static String hexToBin(String s) {

  return new BigInteger(s, 16).toString(2);

}

BigInteger 確保大數(shù)字在轉(zhuǎn)換過程中沒有問題,但您也可以使用下面的這段代碼,這個簡單確實標(biāo)志著您更好地理解了轉(zhuǎn)換。


String hexToBinary(String hex) {

    int i = Integer.parseInt(hex, 16);

    String bin = Integer.toBinaryString(i);

    return bin;

}


查看完整回答
反對 回復(fù) 2022-01-06
?
紫衣仙女

TA貢獻(xiàn)1839條經(jīng)驗 獲得超15個贊

舉個例子。

什么是 4B5(十六進(jìn)制)?

  • “4”在“16×16”的位置,所以表示4×16×16

  • “B”(11)在“16”的位置,所以這意味著 11 ×16

  • “5”位于“1”位置,因此表示 5。

答案: 4B5 = 4×16×16 + 11×16 + 5 (=1205) 十進(jìn)制

然后將十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)。

如何將十進(jìn)制轉(zhuǎn)換為二進(jìn)制

轉(zhuǎn)換步驟:

  • 將數(shù)字除以 2。

  • 獲取下一次迭代的整數(shù)商。

  • 獲取二進(jìn)制數(shù)字的余數(shù)。

  • 重復(fù)上述步驟,直到商等于 0。

(1205) in Decimal= (10010110101) in Binary.

嘗試實現(xiàn)這一點(diǎn)。


查看完整回答
反對 回復(fù) 2022-01-06
  • 3 回答
  • 0 關(guān)注
  • 244 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號