Java 숫자와 문자(Ascii), Byte & Bit

KDG: First things first!·2024년 7월 22일

Java

목록 보기
3/4

Ascii(아스키) 코드


문자가 어떻게 데이터로서 저장되는가를 이해하기 위해선 먼저 아스키(Ascii) 코드에 대해 이해해야 한다.

기본적으로 데이터가 메모리에 저장될 때에는 0과 1을 통한 숫자값을 통해 저장된다. 그렇다면 문자는 어떻게 01과 1로 표현되어 저장되는 것일까???

숫자와 문자를 매핑하는 데에는 여러 가지 방법이 존재한다. 그 중에서도 Java는 기본적으로 아스키 코드를 이용하여 문자와 숫자를 매핑하여 저장한다.


아스키 코드표를 보면 문자와 숫자가 각각 매핑되어 있는 것을 확인할 수 있다. Java는 이러한 매핑을 이용하여 문자를 숫자로 변환하여 데이터로서 저장하는 것이다.


해당 코드를 살펴보면 97을 char로 강제 형변환하였더니 97의 아스키 코드 상대인 a로 변환되어 출력되는 것을 확인할 수 있다.


이번에는 반대로 입력값인 a를 int로 강제 형변환하였더니 97이 출력되는 것을 확인할 수 있다.



이런 식으로 자바에서는 아스키 코드를 이용하여 문자를 숫자로, 숫자를 문자로 형변환하여 데이터를 저장하는 등 아스키 코드를 문자와 숫자의 형 변환에 사용하고 있다.





Bit(비트)와 Byte(바이트)

Bit: 0과 1 형태의 2진수 데이터로써 컴퓨터가 저장할 수 있는 최소한의 단위이다.
정수형 값은 10진수 숫자를 0과 1의 2진수인 Bit로 표현하여 저장된다.
16진수의 경우에는 4개의 Bit로 0에서 F까지의 범위를 숫자를 2진수로 표현하여 저장한다.

기본적으로 자바에서 변수는 그릇의 역할을 하는 Byte에 나눠 담겨져 저장된다. 또한 그 Byte는 8개의 Bit가 모여서 만들어진 새로운 단위이다. 모든 데이터를 1 Bit 단위로 저장하게 되면 데이터를 저장하고 탐색하는 데에 너무 많은 비용이 낭비되기 때문에 Bit들을 8개씩 뭉쳐 하나의 Byte로 만들고 이 Byte 단위를 이용하여 데이터를 관리하는 것이다.



Byte: Byte는 8개의 Bit로 이루어져 있다. 컴퓨터가 데이터를 처리하기 위한 최소 단위이다.
1 Byte 내에서 숫자 변수는 2진수를 10진수로 저장한다. 즉 숫자 변수는 2진수로 변환이 되어서 저장이 된다는 뜻이다.
1 Byte 내에서 문자 변수의 경우에만 Bit 2진수를 16진수로 저장, 표현한다.

profile
알고리즘, 자료구조 블로그: https://gyun97.github.io/

0개의 댓글