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

JavaScript DataView getInt16() 함수 – 부호 있는 16비트 정수 읽기 방법

DataView 객체의 getInt16() 함수는 ArrayBuffer 내 지정된 위치(바이트 오프셋)에 저장된 부호 있는(signed) 16비트 정수를 읽어 반환하는 메서드입니다.

문법(Syntax)

getInt16() 함수의 기본 문법은 다음과 같습니다.

dataView.getInt16(byteOffset, littleEndian);
  • byteOffset: 데이터를 읽을 시작 위치(바이트 단위)
  • littleEndian: (선택 사항) true이면 리틀 엔디안 방식으로, false 또는 생략하면 빅 엔디안 방식으로 값을 읽습니다.

예제 1: 기본 사용법

다음 예제는 setInt16()으로 값을 저장한 후, getInt16()으로 해당 값을 다시 읽어오는 기본적인 사용법을 보여줍니다.

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

출력 결과

3225

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

이 함수에 실수(float) 값을 전달할 수는 없습니다. 만약 실수 값을 인자로 넘기면 소수점 이하가 버려지고 정수 값으로 처리됩니다.

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

출력 결과

564

위 예제에서 564.22를 저장했지만, 출력 결과는 소수점이 제거된 564입니다.

예제 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.setInt16(1);
      document.write(dataView.getInt16(1));
   </script>
</body>
</html>

출력 결과

0

정리

getInt16() 함수는 이진 데이터(binary data)를 바이트 단위로 다룰 때 유용하며, 주요 특징은 다음과 같습니다.

  • 지정된 오프셋 위치에서 부호 있는 16비트 정수를 읽어 반환합니다.
  • 실수 값을 저장하면 자동으로 정수로 변환(소수점 버림)됩니다.
  • 초기화되지 않은 메모리 영역을 읽으면 0을 반환합니다.