에 비트 OR 부호 확장하지 않고 수행 : 첫 번째 수술 후가 나는 다음과 같은 코드가 자바에서 자바
byte lo = 0x88;
byte hi = 0x0;
short x = 0;
x |= lo;
x |= (short) ((short) hi << 8); // FIXME double cast ??
return x;
을, 짧은에있는 값은 0xff88
입니다. Java가 서명되지 않은 숫자를 지원하지 않기 때문에 이것이 이해됩니다.
어떻게하면 신호를 무시할 수 있습니까? Java 코드에서이 데이터를 직접 사용하지 않으므로 중요하지 않습니다.
'byte lo = 0x88;'는 컴파일되지 않고 그 값은 'byte'로 표현 된 숫자의 범위를 벗어납니다. – manouti
@ AR.3 서명을 피하는 방법을 알고 싶습니다. –
현재 코드가 컴파일되지 않습니다. 완전한 예제를 제공 할 수 있습니까? – Bubletan