[英]16 bit hex string to signed int in Java
我在Java中有一个字符串表示HEX中带符号的16位值。 此字符串可以是"0000"
到"FFFF"
。
我使用Integer.parseInt("FFFF",16)
将其转换为整数。 但是,这将返回无符号值( 65535
)。
我希望它返回一个有符号的值。 在此特定示例中, "FFFF"
应返回-1
。
我怎样才能做到这一点? 由于它的16位值,我想到使用Short.parseShort("FFFF",16)
但这告诉我,我超出了范围。 我猜parseShort()
期望一个负号。
您可以将从Integer.parseInt()
返回的int
Integer.parseInt()
转换为short:
short s = (short) Integer.parseInt("FFFF",16);
System.out.println(s);
结果:
-1
尝试
int i = (short) Integer.parseInt("FFFF", 16);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.