컴퓨터프로그래밍

컴퓨터와 2진수, 데이터

signal시노 2024. 7. 2. 10:31

사람은 10진수를 사용하고 컴퓨터는 2진수를 사용한다.

왜?

손가락이 10개라 10진수를 사용했을 것 이다.(잘모른다)

 

그렇다면 컴퓨터는 왜 2진수일까?

전기 신호를 이용한 반도체이기 때문에 전기가 흐르냐-1 흐르지않냐-0에 의해 2진수를 택했다.

 

0 또는 1을 넣을 수 있는 박스를 1bit로 지정했다.

IBM연구소에서 1byte를 8개의 bit로 지정했다.(비용, 효율적측면)

그렇게 기본 메모리 단위는 byte가 된다.

 

5라는 숫자를 메모리에 저장하려면 몇 byte가 필요할까?

5를 2진수로 변환하면 101이다.

3칸이 필요하기 때문에 1byte면 충분하다.

1byte는 2의 8승(0~255)이다.

 

스타크래프트라는 게임의 공,방 업그레이드는 3까지 이지만, 유즈맵에서는 255까지 해본적이 있을 것 이다.

1byte를 사용했기 때문이다.

 

소프트웨어는 4byte가 기본이다.

 

5라는 숫자를 1byte를 사용하여 메모리에 저장했다.

그런데 5가 연산으로 1억이 되었다.

1억은 1byte에 담을 수 없다.

JAVA에서는 int라는 정수형 변수의 크기를 4byte로 지정하여 그 크기를 제한하였다.

즉, 5라는 숫자를 담아도 4byte짜리의 메모리에 저장된 것이다.

 

sign-bit : 4byte 중 가장 첫번 째 bit이고 0이면 양수, 1이면 음수다.

sign-bit를 제외한 값은 2의 31승 약 21억이다.

int의 값은 약 -21억에서 21억 사이의 값이 된다.

 

cpu와 메모리 사이에 bus 시스템으로 연결?된다.

구리선으로 연결 되는데 32개의 구리선을 이용해 한번에 4byte데이터를 보낼 수 있다.

(최근에는 64개~??개)

 

 

 

패딩데이터

'컴퓨터프로그래밍' 카테고리의 다른 글

정보통신이론(HTTP)  (0) 2024.08.20
하이퍼바이저(Hypervisor)  (0) 2024.07.22
컴파일러(Complier)와 인터프리터(Interpreter)  (0) 2024.07.01
중앙처리장치(CPU) 작동 원리  (0) 2023.07.11
컴퓨터의 구성  (0) 2023.07.11