Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript DataView.getInt8() 함수 완벽 정리

DataView 객체의 getInt8() 메서드는 ArrayBuffer에서 지정된 바이트 오프셋 위치에 저장된 부호 있는 8비트 정수(signed 8-bit integer)를 읽어 반환합니다. 이진 데이터를 바이트 단위로 다룰 때 유용하게 사용됩니다.

문법

dataView.getInt8(byteOffset);

매개변수:

  • byteOffset: 값을 읽어올 위치로, DataView의 시작 지점으로부터의 바이트 오프셋입니다.

반환값: 지정된 위치의 부호 있는 8비트 정수(-128 ~ 127 범위).

예제 1: 기본 사용법

<html>
<head>
    <title>JavaScript Example</title>
</head>
<body>
    <script type="text/javascript">
        var arrayBuffer = new ArrayBuffer(20);
        var dataView = new DataView(arrayBuffer);
        dataView.setInt8(1, 362);
        document.write(dataView.getInt8(1));
    </script>
</body>
</html>

출력 결과

106

설명: setInt8()은 값을 256으로 나눈 나머지(modulo)로 저장합니다. 따라서 362를 저장하면 362 % 256 = 106이 되어 106이 출력됩니다.

예제 2: 실수 값 전달 시 동작

이 함수에는 실수(float) 값을 직접 전달할 수 없습니다. 실수를 전달하면 소수점 이하가 버려지고 정수 값으로 처리됩니다.

<html>
<head>
    <title>JavaScript Example</title>
</head>
<body>
    <script type="text/javascript">
        var arrayBuffer = new ArrayBuffer(20);
        var dataView = new DataView(arrayBuffer);
        dataView.setInt8(1, 362.23);
        document.write(dataView.getInt8(1));
    </script>
</body>
</html>

출력 결과

106

설명: 362.23은 먼저 정수 362로 변환되며, 이후 256으로 나눈 나머지인 106이 저장되어 출력됩니다.

예제 3: 값이 저장되지 않은 경우

DataView에 아무 값도 저장하지 않은 상태에서 데이터를 읽으려고 하면 이 함수는 기본값인 0을 반환합니다.

<html>
<head>
    <title>JavaScript Example</title>
</head>
<body>
    <script type="text/javascript">
        var arrayBuffer = new ArrayBuffer(20);
        var dataView = new DataView(arrayBuffer);
        dataView.setInt8(1);
        document.write(dataView.getInt8(1));
    </script>
</body>
</html>

출력 결과

0

설명: setInt8()에 값 인수가 전달되지 않으면 해당 바이트는 초기화되지 않은 상태(0)로 유지되므로, getInt8()은 0을 반환합니다.

정리

  • getInt8()은 지정된 오프셋에서 부호 있는 8비트 정수를 읽습니다.
  • 저장 가능한 값의 범위는 -128부터 127까지이며, 범위를 벗어나는 값은 256으로 나눈 나머지로 저장됩니다.
  • 실수를 전달하면 정수로 변환되어 처리됩니다.
  • 값이 저장되지 않은 경우 0을 반환합니다.