10进制转16进制java代码
时间: 2023-07-31 09:04:00 浏览: 44
以下是将十进制数转换为十六进制数的Java代码:
```java
public static String decimalToHex(int decimal) {
String hex = "";
while (decimal > 0) {
int remainder = decimal % 16;
if (remainder < 10) {
hex = remainder + hex;
} else {
hex = (char) (remainder + 55) + hex;
}
decimal = decimal / 16;
}
return hex;
}
```
该方法接受一个十进制数作为参数,返回一个字符串类型的十六进制数。
在代码中,我们采用除以16取余数的方法,将余数转换为十六进制数的形式,然后将结果倒序拼接起来。对于余数小于10的情况,直接加入结果字符串中;对于余数大于等于10的情况,需要将余数转换为十六进制数的形式,加入结果字符串中。
例如,将十进制数255转换为十六进制数的代码调用如下:
```java
String hex = decimalToHex(255);
System.out.println(hex); // 输出结果为FF
```
相关问题
16进制转10进制java代码
以下是一个简单的Java程序,可以将16进制数转换为10进制数:
```java
import java.util.Scanner;
public class HexToDecimal {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个16进制数:");
String hex = input.nextLine();
int decimal = hexToDecimal(hex);
System.out.println("对应的10进制数为:" + decimal);
}
public static int hexToDecimal(String hex) {
int decimal = 0;
for (int i = 0; i < hex.length(); i++) {
char hexChar = hex.charAt(i);
decimal = decimal * 16 + hexValue(hexChar);
}
return decimal;
}
public static int hexValue(char ch) {
if (ch >= 'A' && ch <= 'F') {
return 10 + ch - 'A';
} else {
return ch - '0';
}
}
}
```
运行程序后,输入一个16进制数,程序将输出对应的10进制数。
java代码16进制转10进制负数
以下是Java代码将16进制转换为10进制负数的方法:
```java
String hex = "FFFF";
int decimal = Integer.parseInt(hex, 16);
if ((decimal & 0x8000) > 0) {
decimal = decimal - 0x10000;
}
System.out.println(decimal); // 输出:-1
```
该代码首先将16进制字符串转换为10进制整数,然后检查最高位是否为1,如果是,则将其转换为负数。最后输出结果为-1。