컴퓨터는 모든 데이터를 0 또는 1로 바꿔 기억한다.
비트 : 0, 1만 표현할 수 있는 하나의 메모리 조각
각 비트는 고유한 식별자를 통해 위치를 확인할 수 있다.
고작 0이나 1만 표현할 수 있는 비트 단위로 위치를 확인하는 것은 매우 비효율적이다.
-> 몇 개씩 묶어 하나의 단위로 여긴다면 표현할 수 있는 값도 늘어나면서 동시에 검색 시간 줄일 수 있음
다만, 낭비되는 비트가 생기기도 한다.
자주 사용하지 않을 데이터를 표현하기 위해 빈 공간을 남겨놓기보다는 표현 가능한 개수에 어느 정도 제약이 따르더라도 크게 문제가 되지 않을 적정한 공간을 묶는 편이 낫다.
이런 고민의 결과 -> BYTE
1byte -> 8bit, 2의 8승 256개의 값을 표현
C/C++, 자바(정적 타입 언어) : 메모리를 낭비를 최소화하기 위해 데이터 타입별로 할당할 메모리 영역을 2바이트, 4바이트 등으로 나누어 정해놓았다.
예) 2바이트 크기 short 는 0을 포함해 -32768 ~ +32767의 숫자만 허용 -> 사용자가 이 범위를 넘어서는 숫자 입력하면 오류가 나거나 잘못된 값이 저장됨 -> 사용자가 직접 4바이트 크기 int로 형변환해야 함
-> 메모리 용량이 부족했던 시절 불가피한 선택
현재 : 메모리 용량이 과거보다 월등히 커진 상황에서 등장한 자바스크립트
상대적으로 메모리 관리에 대한 압박 자유로움
메모리 공간을 좀 더 넉넉하게 할당 -> 숫자의 경우 정수형인지 부동소수형인지 구분하지 않고 64비트, 즉 8바이트 확보
개발자가 정적 타입 언어처럼 형변환을 걱정해야 하는 상황 덜 발생.
각 비트는 고유한 식별자를 지닌다. -> 바이트는?
바이트 역시 시작하는 비트의 식별자로 위치를 파악 -> 모든 데이터는 바이트 단위의 식별자, 메모리 주솟값(memory address)을 통해 서로 구분하고 연결 가능
'JavaScript' 카테고리의 다른 글
데이터 할당 (0) | 2021.12.17 |
---|---|
식별자와 변수 (0) | 2021.12.17 |
배열의 요소 추가, 삭제 방법 (0) | 2021.07.22 |
자바스크립트 chapter 2 (0) | 2021.07.21 |
자바스크립트 chapter 1 (0) | 2021.07.20 |