Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的十六进制整数到十进制整数_Java_Decimal_Hex - Fatal编程技术网

Java中的十六进制整数到十进制整数

Java中的十六进制整数到十进制整数,java,decimal,hex,Java,Decimal,Hex,我需要将十六进制整数解析为十进制整数 例如,十六进制:02 01(十进制模式下为513)应表示201。 在代码中,它可以传递: Assert.assertEquals(201, parse(0x201)); 如何实现parse()方法?谢谢 您可以使用以下两个参数版本: 您可以使用两个参数版本的: 我认为您只需要将以16为基数的数字转换为以10为基数的数字,如下所示: int parse(int n) { if (n == 0) return 0; int digit = n &

我需要将十六进制整数解析为十进制整数

例如,十六进制:02 01(十进制模式下为513)应表示201。 在代码中,它可以传递:

Assert.assertEquals(201, parse(0x201));

如何实现parse()方法?谢谢

您可以使用以下两个参数版本:


您可以使用两个参数版本的:


我认为您只需要将以16为基数的数字转换为以10为基数的数字,如下所示:

int parse(int n) {
  if (n == 0) return 0;
  int digit = n & 0xf;
  assert digit >= 0 && digit <= 9;
  return parse(n >> 4) * 10 + digit;
}
int解析(int n){
如果(n==0)返回0;
整数位数=n&0xf;
断言数字>=0&&digit>4)*10+位;
}
可能对负数不起作用


你为什么要这么做?这似乎是一件非常愚蠢的事情。

我认为您只需要将以16为基数的数字转换为以10为基数的数字,如下所示:

int parse(int n) {
  if (n == 0) return 0;
  int digit = n & 0xf;
  assert digit >= 0 && digit <= 9;
  return parse(n >> 4) * 10 + digit;
}
int解析(int n){
如果(n==0)返回0;
整数位数=n&0xf;
断言数字>=0&&digit>4)*10+位;
}
可能对负数不起作用


你为什么要这么做?这似乎是一件非常愚蠢的事情。

使用
Integer.toHexString()

System.out.println(Integer.toHexString(0x201))


输出:201

使用
Integer.toHexString()

System.out.println(Integer.toHexString(0x201))


输出:201

我发现
字符串。格式(“%x”,t)
适用于该函数。无论如何,谢谢马克·阿尼尔万和基思

我发现
String.format(“%x”,t)
适用于该函数。无论如何,谢谢马克·阿尼尔万和基思

我的意思是解析(0x201)应该返回201@卢声远 陆胜源:你想把十六进制数当作十进制数来对待吗?如果参数是
0x2f1
,你会怎么做?我认为他说的更多的是关于事物的表示方面@卢声远 陆胜源:您可能应该考虑在其中的某个地方使用字符串表示。我的意思是parse(0x201)应该返回201@卢声远 陆胜源:你想把十六进制数当作十进制数来对待吗?如果参数是
0x2f1
,你会怎么做?我认为他说的更多的是关于事物的表示方面@卢声远 陆胜源:你可能应该考虑在那里的某个地方使用字符串表示法。