十进制转二进制
import java.util.Scanner;
class Main {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int numberNotChange = 0;
do{
//获得输入de整数
System.out.print("\nEnter a int number: ");
numberNotChange = input.nextInt();
int number = numberNotChange;
String numbertoBinaryString = "";
//如果为负数变成正数
number = (number >=0 ? number : (0 - number));
//如果为0输出值并结束程序
if(number == 0)
System.out.print(number + " 的二进制是: 0");
//计算不为0的二进制值
while(number != 0){
numbertoBinaryString = (number % 2) + numbertoBinaryString;
number = number / 2;
}
//输出二进制
if(numberNotChange!=0)
System.out.print((numberNotChange > 0) ? numberNotChange + " 的二进制是: "
+ numbertoBinaryString : numberNotChange + " 的二进制是: -"
+ numbertoBinaryString);
}while(numberNotChange != 0);
input.close();
}
}
十进制转十六进制
import java.util.Scanner;
class Main {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int numberNotChange = 0;
do{
//获得输入的整数
System.out.print("\nEnter a int number: ");
numberNotChange = input.nextInt();
int number = numberNotChange;
String numberToHexString = "";
//如果为负数变成正数
number = (number >=0 ? number : (0 - number));
//如果为0输出值并结束程序
if(number == 0)
System.out.print(number + " 的十六进制是: 0");
//计算不为0的十六进制值
while(number != 0){
int numberToHex = number % 16;
String numberString = "";
//0-9
if(numberToHex >= 0 && numberToHex <= 9)
numberString = numberToHex + "";
//10-15
switch(numberToHex){
case 10:
numberString = "A";
break;
case 11:
numberString = "B";
break;
case 12:
numberString = "C";
break;
case 13:
numberString = "D";
break;
case 14:
numberString = "E";
break;
case 15:
numberString = "F";
break;
}
numberToHexString = numberString + numberToHexString;
number = number / 16;
}
//输出十六进制
if(numberNotChange!=0)
System.out.print((numberNotChange > 0) ? numberNotChange + " 的十六进制是: "
+ numberToHexString : numberNotChange + " 的十六进制是: -"
+ numberToHexString);
}while(numberNotChange != 0);
input.close();
}
}