ByteBuffer byteBuffer는 TCP/IP 연결을 통해 수신되며 NetBeans 에뮬레이터에 표시되며이 중단 시간 동안 바이트 4, 5, 6 및 7에 0x2b, 0x69, 0x80 및 0x3f를 포함합니다. endianess가 틀린 경우 잘못된 float 값 또는 숫자 형식 예외가 예상되지만 항상 4 바이트의 다양한 집합에 대해 0.0이 아닌 것으로 예상됩니다. 이 ByteBuffer, 인덱스 8, 12 등에서 읽은 다른 부동 소수점 수에 대해서도 똑같은 일이 발생합니다. 다음은 항상 0.0입니다. 재현ByteBuffer.getFloat가 0.0을 반환하는 이유는 무엇입니까?
float f = byteBuffer.getFloat(4);
가 나는'ByteBuffer' 당신이 그것을하지 무슨 생각을 포함하지 않는 것으로 판단됩니다. 'getFloat (4)'를 호출하기 직전에'i = 4,5,6,7'에 대해'byteBuffer.get (i)'를 호출하고 네 개의 값을 출력 할 수 있습니까? – NPE
젠장! 나는 ByteBuffer byteBuffer = ByteBuffer.allocate (status.length)를하고 있고, 데이터를 담고있는 것은'status'이다. 나는'.allocate'가 아마도 byteBuffer를 생성 할 것이고 이제는 byte [] 상태를 byteBuffer에 복사 할 필요가있을 것이라고 확신합니다. – jacknad