jina.log
로그인
jina.log
로그인
CS 기초학습(1) - 문자인코딩 개념
김진아
·
2024년 7월 29일
팔로우
0
CS
CS
목록 보기
1/15
1. 비트와 바이트
bit(비트)
컴퓨터의 가장 작은 정보 단위
0과 1로, 2가지 정보를 나타낼 수 있음
byte(바이트)
컴퓨터의 정보 단위 중 하나
8비트, 256가지의 정보를 나타낼 수 있음
표현할 수 있는 값의 수가 적당하기에 오늘날 컴퓨터 시스템의 표준 데이터 단위로 자리잡고 있음
2. 2진수와 10진수 변환
2진수(이진법)
0과 1만을 사용하여 모든 수를 표현
각 자릿수는 2의 거듭제곱을 기반으로 값을 가짐
ex) 29(10진법) => 1
2^4 + 1
2^3 + 1
2^2 + 0
2^1 + 1*2^0 => 11101(2진법)
10진수
일상에서 가장 많이 사용하는 숫자 체계
0~9까지만을 사용하여 모든 수를 표현
각 자릿수는 10의 거듭제곱을 기반으로 값을 가짐
ex) 29 = 2
10^1 + 9
10^0
3. 문자코드
ASCII(아스키코드)
1960년대에 개발된 문자와 기호를 컴퓨터가 이해할 수 있는 숫자로 변환하기 위한 표준 코드
1 byte(8 bit)로 문자 표현, 128개의 문자만 지원
Unicode(유니코드)
전 세계의 모든 문자와 기호를 표준화
글로벌화된 소프트웨어와 시스템에서 문자 데이터를 호환성 있게 처리
다양한 인코딩 방식을 사용 (UTF-8, UTF-16, UTF-32)
4. 프로그래밍 언어 예제
위와 같은 문자인코딩 방법들을 통해 데이터 타입이 세세하게 나뉜다.
이를 통해 언어에 따라 메모리 관리를 수동 및 자동으로 할 수 있다.
고수준 언어(사람 친화적인 언어)
사람들이 이해하기 쉬운 언어
메모리 관리를 자동적으로 해준다.
ex) java, python, C#
장점: 안정적, 자동메모리관리, 코드작성 단순화
단점: 성능 저하, 제한적인 메모리 제어
저수준 언어(컴퓨터 친화적인 언어)
컴퓨터가 이해하기 쉬운 언어
개발자가 메모리 관리를 직접 해야함 => 세분화된 데이터 타입
ex) C, C++
장점: 고성능, 메모리 세밀한 제어 가능
단점: 메모리 제어는 개발자의 책임, 복잡한 코드
5. 메가와 메비의 차이
2진수 기준 측정
KB(KiB) (kibi)키비바이트 => 1024 Byte 2^10Bytes
MB(MiB) (mebi)메비바이트 => 1024 KByte 2^20Bytes
GB(GiB) (gibi)기비바이트 => 1024 MByte 2^30Bytes
TB(TiB) (tebi)테비바이트 => 1024 GByte 2^40Bytes
10진수 기준 측정
KB 킬로바이트 => 1000 Byte
MB 메가바이트 => 1000 KByte 1000^2Bytes
GB 기가바이트 => 1000 MByte 1000^3Bytes
TB 테라바이트 => 1000 GByte 1000^4Bytes
6. 문자인코딩
UTF : Unicode Transformation For mat
UTF-8
가변길이 유니코드 인코딩
1~4 byte 범위를 가변길이로 인코딩
1 byte(8 bit) 단위로 메모리 저장
UTF-16
고정 및 가변길이 유니코드 인코딩
2 byte(16 bit) 단위로 메모리 저장
김진아
https://develop-chick.tistory.com/ 첫번째 블로그
팔로우
다음 포스트
CS 기초학습(2) - 컴퓨터의 구성요소
0개의 댓글
댓글 작성