가능한 중복 :
Converting 32-bit unsigned integer (big endian) to long and backJava에서 부호없는 int 32 비트 사용?
내가
char tab[100];
tab[10] = '\xc0';
tab[48] = '\x80';
uint32_t w = 0x67452301;
uint32_t x = 0xefcdab89;
uint32_t y = 0x98badcfe;
uint32_t z = 0x10325476;
a = ((b & c) | (~b & d)) + (*(uint32_t*)(tab+0x00)) + a - 0x28955B88;
a = ((a << 0x07) | (a >> 0x19)) + b;
I'have이 시도 자바에서이 표현을 번역하고 싶지만 ...
char[] tab = new char[64];
tab[10] = (char) 0xc0;
tab[48] = (char) 0x80;
하지만 값이 올바른 것이 아닙니다. char []에서 \ 0x80을 할당하는 또 다른 방법이 있습니까? 어떻게 이런 종류의 자바 ((uint32_t)) 캐스트 캐스팅 할 수 있습니까?
감사합니다.
에서 부호없는 32 개 비트 변수를 나타내는 8 바이트를 포함
long
를 사용하지 않습니다. 대신 긴 (부호가있는 64 비트)을 사용해야합니다. –배열을 Java에서 포인터로 처리 할 수 없습니다. 명시 적 배열 인덱싱을 사용해야합니다. –
(문자는 Java에서 16 비트 임) 또한 –