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






hex