- Integer.toBinaryString
- 移位操作 >>>1 & 1
- 倒叙取余
public class HexConvert {
public static void main(String[] args) {
// 二进制
// 1. API函数
int n = 10;
// 1010
System.out.println(Integer.toBinaryString(n));
// 2. 移位
//binaryString(10) = 00000000000000000000000000001010
System.out.println(binaryString(n).substring(binaryString(n).indexOf("1")));
// 3. 倒排取余
System.out.println(mod(n));
}
private static String binaryString(int n) {
StringBuilder sb = new StringBuilder();
for (int i = 31; i >= 0; i--) {
sb.append(n >>> i & 1);
}
return sb.toString();
}
private static String mod(int n) {
StringBuilder stringBuilder = new StringBuilder();
while(n / 2 != 0) {
stringBuilder.append(Math.floorMod(n, 2));
n = n / 2;
}
stringBuilder.append(Math.floorMod(n, 2));
return stringBuilder.reverse().toString();
}
}