Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
System.out.println(input);
int a = Integer.parseInt(input.substring(2), 16);
System.out.println(Integer.toBinaryString(a));
Run Code Online (Sandbox Code Playgroud)
上面提到的代码,它接受十六进制值并将其转换为二进制.但是,这对输入" 0xBE400000" 不起作用,但它适用于" 0x41C20000"
BE400000大于Integer.MAX_VALUE(其十六进制表示7FFFFFFF).
因此,您需要解析它
long a = Long.parseLong(input.substring(2), 16);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
123 次 |
| 最近记录: |