我有一个32位整数值,我想将其转换为两个十进制值.来自5个最低有效位的一个值和来自其余位(27位)的一个十进制值.
我怎么用Java做到这一点?
我能想到的唯一解决方案是这样的:
int i = 1073326082;
String binaryString = Integer.toBinaryString(i);
int fiveLeastSigValue = Integer.parseInt(binaryString.substring(27), 2));
int theRest = Integer.parseInt(binaryString.substring(0, 27), 2));
但我确定有一些更有效的方法来做到这一点.有任何想法吗?