更新時(shí)間:2022-08-31 11:13:31 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1075次
Java進(jìn)制轉(zhuǎn)換的方法大家可要牢記哦。
String s = Integer.toBinaryString(n) //將十進(jìn)制數(shù)轉(zhuǎn)成字符串,例如n=4 ,s = "100"
十進(jìn)制轉(zhuǎn)成二進(jìn)制 補(bǔ)0
//輸出結(jié)果:00000100
String bin = Integer.toBinaryString(4);
DecimalFormat df = new DecimalFormat("00000000");
String format = df.format(Integer.valueOf(bin));
System.out.println(format); //format=00000100
方法1:使用Integer.parseInt()實(shí)現(xiàn)二進(jìn)制轉(zhuǎn)換為十進(jìn)制
import java.util.Scanner;
class BinaryToDecimal {
public static void main(String args[]){
Scanner input = new Scanner( System.in );
System.out.print("Enter a binary number: ");
String binaryString =input.nextLine();
System.out.println("Output: "+Integer.parseInt(binaryString,2));
}
}
方法2:使用自定義邏輯實(shí)現(xiàn)二進(jìn)制轉(zhuǎn)換十進(jìn)制
public class Details {
public static void main(String args[]) {
Details obj = new Details();
System.out.println("110 --> " + obj.BinaryToDecimal(110));
System.out.println("1101 --> " + obj.BinaryToDecimal(1101));
}
public int BinaryToDecimal(int binaryNumber) {
int decimal = 0;
int p = 0;
while (true) {
if (binaryNumber == 0) {
break;
} else {
int temp = binaryNumber % 10;
decimal += temp * Math.pow(2, p);
binaryNumber = binaryNumber / 10;
p++;
}
}
return decimal;
}
}
//十進(jìn)制轉(zhuǎn)八進(jìn)制
String octalString = Integer.toOctalString(9);
System.out.println("octalString====="+octalString);
public class DecimalFormatTest {
public static void main(String[] args) {
int octal = 116;
int decimal = convertOctalToDecimal(octal);
System.out.printf("%d 八進(jìn)制 = %d十進(jìn)制", octal, decimal);
}
public static int convertOctalToDecimal(int octal) {
int decimalNumber = 0, i = 0;
while(octal != 0) {
decimalNumber += (octal % 10) * Math.pow(8, i);
++i;
octal/=10;
}
return decimalNumber;
}
}
//補(bǔ)充 十進(jìn)制轉(zhuǎn)16進(jìn)制 輸出結(jié)果:12
String hexString = Integer.toHexString(18);
System.out.println("hexString====="+hexString);
import java.util.HashMap;
import java.util.Map;
public class DecimalTest {
public static void main(String[] args) {
//十六進(jìn)制轉(zhuǎn)10進(jìn)制
String hexString = Integer.toHexString(18);
int covert = covert(hexString);
System.out.println("covert======="+covert);
}
public static int covert(String content){
int number=0;
String [] HighLetter = {"A","B","C","D","E","F"};
Map<String,Integer> map = new HashMap<>();
for(int i = 0;i <= 9;i++){
map.put(i+"",i);
}
for(int j= 10;j<HighLetter.length+10;j++){
map.put(HighLetter[j-10],j);
}
String[]str = new String[content.length()];
for(int i = 0; i < str.length; i++){
str[i] = content.substring(i,i+1);
}
for(int i = 0; i < str.length; i++){
number += map.get(str[i])*Math.pow(16,str.length-1-i);
}
return number;
}
}
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743