需要有关如何执行以下操作的解决方案:接收十进制值,将其转换为32位十六进制,然后将该32位十六进制分开并获得高16位和低16位值。我一直在挖网,找不到太多信息。
答案 0 :(得分:5)
不确定为什么要转换为十六进制,而是将32位值直接转换为两个16位值。
int x = ...
short high = x >> 16;
short low = x & 0xFFFF;
答案 1 :(得分:4)
我希望这是一个家庭作业问题。因此,我将为您提供可以帮助您解决问题的信息,而不是解决方案。
toHexString()
方法完成。substring()
方法和length()
以及一些简单的减法来完成。答案 2 :(得分:-1)
您可能会发现一些有用的API: http://download.oracle.com/javase/6/docs/api/java/io/DataInputStream.html http://download.oracle.com/javase/6/docs/api/java/lang/Integer.html#parseInt(java.lang.String,int) http://download.oracle.com/javase/6/docs/api/java/lang/Integer.html#toHexString(int) http://commons.apache.org/codec/apidocs/org/apache/commons/codec/binary/Hex.html