데이터 타입(문자형) - 5
💡 학습 목표
1. byte 와 bit 란 뭘까?
2. char 자료형의 이해
3. 인코딩과 디코딩이란 뭘까?
1. byte 와 bit 란 뭘까?
- Bit (비트) :
- 컴퓨터의 최소 데이터 단위.
- 이진수(0 또는 1)로 표현되는 정보의 단위.
- 1비트는 2가지의 상태를 나타낼 수 있습니다. 예를 들어, 스위치가 켜져있는지(1) 꺼져있는지(0)
- 컴퓨터의 모든 데이터와 명령은 이진수로 표현되며, 이진수의 각 자리는 비트에 해당.
- Byte (바이트) :
- 8개의 비트로 이루어진 데이터 단위.
- 1바이트는 일반적으로 컴퓨터에서 문자, 숫자, 기호 등의 하나의 문자를 나타내는 데 사용.
- 예를 들어, 영문 알파벳 한 글자는 보통 1바이트로 표현.
- bit는 정보의 최소 단위이고, byte는 데이터를 저장하고 표현하는 데 사용되는 더 큰 단위
핵심 정리 - 8비트는 1바이트, bit 는 물리적인 단위, byte는 논리적인 단위이다 라고 기억.
* 이진수(0, 1) 이라는 개념은 이해 했을까요?
+---+---+---+---+---+---+---+---+
| | | | | | | | |
+---+---+---+---+---+---+---+---+
위 상자에 크기는 몇 바이트 일까요? -> 8bit -> 1byte
+---+---+---+---+---+---+---+---+
| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
+---+---+---+---+---+---+---+---+
위 상자에 데이터를 10진수로 표기한다면 얼마가 될까요? 8bit 안에 값은 -> 양수 3
+---+---+---+---+---+---+---+---+
| 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
+---+---+---+---+---+---+---+---+
위 상자에 데이터를 10진수로 표기한다면 얼마가 될까요? 8bit 안에 값은 -> 양수 2
+---+---+---+---+---+---+---+---+
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
+---+---+---+---+---+---+---+---+
위 상자에 데이터를 10진수로 표기한다면 얼마가 될까요? 8bit 안에 값은 -> 음수 2
상자의 맨 앞은 1은 음수값을 나타내고 0이면 양수값을 나타냅니다.
컴퓨터에서 음수값을 표현하기 위해서는 보수라는 개념을 활용 합니다.
2. char 자료형의 이해
잠깐! 고민해보기🤚
문자 자료형도 데이터인데 위에서 컴퓨터의 모든 데이터와 명령은 이진수로 표현된다고 배웠는데 문자는 컴퓨터에 어떻게 저장되고 표현이 될까?
컴퓨터에서 문자를 표현하고 처리하기 위해 문자표가 사용 (미리 만들어 놓음)
- 문자표는 ASCII (American Standard Code for Information Interchange), Unicode, UTF-8, UTF-16 등의 형식으로 구성.
- ASCII는 초기에 사용되었던 문자 인코딩 방식 중 하나로, 주로 미국에서 사용.
- Unicode는 전 세계의 모든 문자를 나타내기 위해 설계된 표준 문자 인코딩 시스템입니다.
- UTF-8은 Unicode의 문자를 효율적으로 인코딩하는 방식 중 하나입니다. 1바이트에서 4바이트까지 다양하게 문자를 표현할 수 있음
- UTF-16 은 2바이트로 문자를 표현
3. 인코딩과 디코딩이란 뭘까?
- 변수에 char 타입에 데이터를 저장하고 출력하는 과정을 간단하게 이해해 보자.
- 인코딩이란?
- 이진수를 문자형으로 바꾸는 과정을 일반적으로 "인코딩(Encoding)"이라고 함. 인코딩은 정보를 특정 형식으로 변환하는 과정을 의미하며, 주로 컴퓨터에서 데이터를 다룰 때 사용.
- 디코딩이란?
- 문자를 이진수로 변환하는 과정은 일반적으로 "디코딩(Decoding)"이라고 함. 디코딩은 인코딩의 반대 과정으로, 정보를 특정 형식에서 원래의 형식으로 변환하는 과정을 의미.
code DataType2
package basic.ch01;
/**
* 문자 데이터 타입
* char 자료형의 크기는 2byte 입니다.
*/
public class DataType2 {
public static void main(String[] args) {
// 기본 자료형 중 - 문자 타입(사실은 정수형)
// 문자를 저장하기 위한 변수를 선언할 때 사용.
// char 타입은 단, 하나의 문자만을 저장할 수 있다.
char charBox;
charBox = 'B'; // char 는 홑따옴표를 사용한다.
System.out.println(charBox);
// charBox = '가나'; // 대입 불가
// 참고 ! 두개 이상의 문자가 연속된 형태를(String) 문자열 --> "안녕반가워"
System.out.println("---------------------------------------");
System.out.println((int)charBox);
// 도전 문제
// 소문자 a, b, c 는 정수값으로 얼마 일까?
char charBox1 = 'a';
char charBox2 = 'b';
char charBox3 = 'c';
System.out.println((int)charBox1);
System.out.println((int)charBox2);
System.out.println((int)charBox3);
} // end of main
} // end of class
'Java > Java 기초 문법' 카테고리의 다른 글
데이터 타입(논리형) - 7 (0) | 2024.04.08 |
---|---|
데이터 타입(실수형) - 6 (1) | 2024.04.08 |
데이터 타입(정수형) - 4 (0) | 2024.04.08 |
변수 {연습문제} - 3 (0) | 2024.04.08 |
변수(Variable) - 2 (0) | 2024.04.08 |