[Java의 정석] 진법

말하는 감자·2023년 10월 22일
0

Java의 정석

목록 보기
15/32
post-thumbnail

Chapter 02 변수(Varialbe)

3. 진법

📌 10진법과 2진법

일상생활에서 주로 사용하는 것은 10진법이다. 1946년에 개발된 에니악(ENIAC)은 사람에게 익숙한 10진법을 사용하도록 설계되었으나 전기회로는 전압이 불안정해서 전압을 10단계로 나누어 처리하는 데 한계가 있었다. 그래서 1950년 개발된 에드박(EDVAC)은 단 두 가지 단계, 전기가 흐르면 1, 흐르지 않으면 0만으로 동작하도록 설계되었고 매우 성공적이었다.
그 이후부터 지금까지 대부분의 컴퓨터는 2진 체계로 설계되었으므로, 2진수(0과 1)밖에 모르기 때문에 변수에 값을 저장하면 2진수로 바뀌어 저장된다.

📌 비트(bit)와 바이트(byte)

한 자리의 2진수를 '비트(bit, binary digit)'라고 하며, 1비트는 컴퓨터가 값을 저장할 수 있는 최소단위이다. 그러나 1비트는 너무 작은 단위이기 때문에 1비트 8개를 묶어서 '바이트(byte)'라는 단위로 정의해서 데이터의 기본 단위로 사용한다.


이 외에도 '워드(word)'라는 단위가 있는데 '워드(word)'는 'CPU가 한 번에 처리할 수 있는 데이터의 크기'를 의미한다. 위의 그림에서는 워드의 크기를 4바이트(32비트)라고 했지만 사실 워드의 크기는 CPU의 성능에 따라 달라진다. 예를 들어 32비트 CPU에서 1워드는 32비트(4바이트)이고, 64비트 CPU에서는 64비트(8바이트)이다.

n비트로 2^n개의 값을 표현할 수 있다. 그리괴 n비트로 10진수를 표현한다면 표현가능한 10진수의 범위는 0~2^(n-1)이 된다.


🥔💬변명아닌 변명...

진법은 아무래도 수학이다 보니...
JAVA를 공부하려는 감자에게는 실무에서 자주 사용되지 않는 주제이기도 하고 어느정도 알고 있기도 하고 필요할 때마다 검색을 하며 되었기에...
진법은 간단히 하고 넘어간다... 히히...


📑 원본 자료

  • Java의 정석(3판) [남궁 성/도우출판/2016]
profile
나는 말하는 감자다

0개의 댓글