Java中编写二进制,十进制,十六进制互相转换,不用特殊符号和关键字和调用类和特殊运算符
时间: 2024-12-06 17:33:08 浏览: 14
在Java中,我们可以利用位操作符来进行基本的数据转换,无需使用特殊符号、关键字或第三方类。以下是简单的示例:
**将十进制转二进制:**
```java
public static String decimalToBinary(int decimal) {
StringBuilder binary = new StringBuilder();
while (decimal > 0) {
int remainder = decimal & 1; // 取余数
binary.append(remainder);
decimal >>= 1; // 左移一位
}
return binary.reverse().toString(); // 反转字符串得到正确的顺序
}
```
**将二进制转十进制:**
```java
public static int binaryToDecimal(String binary) {
int decimal = 0;
for (int i = 0; i < binary.length(); i++) {
if (binary.charAt(i) == '1') {
decimal += Math.pow(2, binary.length() - i - 1); // 乘以2的幂次
}
}
return decimal;
}
```
**将十进制转十六进制:**
```java
public static String decimalToHex(int decimal) {
char[] hexChars = "0123456789ABCDEF".toCharArray();
if (decimal <= 0) return "0";
StringBuilder sb = new StringBuilder();
do {
sb.append(hexChars[decimal % 16]);
decimal /= 16;
} while (decimal > 0);
return sb.reverse().toString();
}
// 对应的十六进制转十进制
public static int hexToDecimal(String hex) {
int decimal = 0;
for (int i = 0; i < hex.length(); i++) {
if (Character.digit(hex.charAt(i), 16) != Character.MIN_VALUE) {
decimal = decimal * 16 + Character.digit(hex.charAt(i), 16);
}
}
return decimal;
}
```
阅读全文