저는 Java로 Android 2.3.3 응용 프로그램을 개발하고 있습니다.0xFFFF는 (으)로 짧게 변환해야합니까?
나는 다음과 같은 코드가 있습니다
short CRCAux = (short) 0xffff;
내가 아이폰 OS 마이그레이션 해요 :
short CRCAux = 0xffff;
가 나는 짧은이 값을 캐스팅해야 일식에 경고를 얻을 수를 안드로이드 및 iOS 용 애플리케이션의 경우 CRCAux
은 UInt16
입니다.
왜 컴파일러는 그 값을 short로 변환해야합니까? 짧은 int 16 비트 데이터 형식이 서명 되었습니까?
예, 'short'는 부호있는 16 비트 값입니다. 0xffff는 너무 짧아서 '짧음'에 맞지 않습니다. 다행히도 Java에서 부호없는 16 비트 유형 인'char'가 있습니다. (그러나 어떤 사람들은 숫자 값에'char'를 사용하는 것이 약간의 종류의 남용이라고 주장 할 수도 있습니다). –
답변 해 주셔서 감사합니다.하지만 다른 질문이 있습니다. iOS UInt16으로 간략하게 사용할 수 있습니까? – VansFannel
그리고 만약'char'을 사용하면 저는 캐스트가 필요 없습니다. 왜? – VansFannel