데이터 타입(문자형) - 5

데이터 타입(문자형) - 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