아델
718
2018-12-15 12:29:37
3
646

Java ByteBuffer 에 read와 write


write 할때 int 형으로 하고  read 할때 long 형으로 하면 값을 어떻게 계산해야되나요??


System.out.println("다양한  인트를 바이트버퍼에 집어넣고 빼기------------------");

ByteBuffer buffer5=ByteBuffer.allocate(12);

buffer5.putInt((int)10);

buffer5.putInt((int)11);

buffer5.rewind();


long b=buffer5.getLong();

System.out.println(b);//읽은값:42949672971

총 8바이트를 넣었으니  

getlLong()에는 이상이 없는데 얻은 값의 

해석법을  잘 모르겠습니다 


어떻게 계산하면  42949672971 값이 나온는거죠??

0
  • 답변 3

  • azrof95
    22
    2018-12-15 12:44:30 작성 2018-12-15 12:48:40 수정됨

    00 00 00 0A / 00 00 00 0B (BYTE)

    0000 0000 / 0000 0000 / 0000 0000 / 0000 1010  / 0000 0000 / 0000 0000 / 0000 0000 / 0000 1011 (BIT)

    2^0 + 2^1 + 2^3 + 2^33 + 2^35

    putInt(10): 00 00 00 0A

    putInt(11): 00 00 00 0A 00 00 00 0B

    getLong() 하시면 8바이트를 가져와서 long으로 변환하기 때문에 계산하면 저렇게됩니다.


  • 아델
    718
    2018-12-15 13:09:24

    감사합니다

  • azrof95
    22
    2018-12-15 13:17:17

    아델

    채택 좀 부탁드립니다 ㅜㅜ

  • 로그인을 하시면 답변을 등록할 수 있습니다.