java - 사이즈 - jtextfield 입력 금지
16 비트 16 진수 문자열을 Java에서 부호있는 int로 변환합니다. (2)
Java에서 부호있는 16 비트 값을 16 진수로 나타내는 문자열이 있습니다. 이 문자열은 "0000"
에서 "FFFF"
까지 사용할 수 있습니다.
정수로 변환하기 위해 Integer.parseInt("FFFF",16)
를 사용합니다. 그러나이 값은 부호없는 값 ( 65535
)을 반환합니다.
서명 된 값을 반환하기를 원합니다. 이 특정 예제에서 "FFFF"
는 -1
을 반환해야합니다.
이것을 어떻게 할 수 있습니까? 그것의 16 비트 값으로 Short.parseShort("FFFF",16)
를 사용한다고 생각 했었지만 Short.parseShort("FFFF",16)
그것은 내가 범위를 벗어났다는 것을 말해줍니다. 나는 parseShort()
가 음수 부호를 기대한다고 생각한다.
시험
int i = (short) Integer.parseInt("FFFF", 16);
Integer.parseInt()
에서 반환 된 int
를 short로 캐스트 할 수 있습니다.
short s = (short) Integer.parseInt("FFFF",16);
System.out.println(s);
결과:
-1