바이트는 뭐고 자료형은 왜 쓰나요?

2022. 11. 14. 10:32개발공부/CS지식

비트: 2진 숫자의 약자로 컴퓨터가 다루는 데이터의 최소 단위이다. 0또는 1이라는  2개의 값을 가진다.

비트앞에 숫자가 붙는 것은 데이터를 다룰 때 몇 개의 비트를 사용할 것인가를 뜻한다. 

 

컴퓨터가 이진법을 사용하는 이유: 기계가 전기 신호로 작동하기 때문이다.  사람은 다양한 방법으로 숫자나 

수신호를 표현할 수 있지만 전기 신호로는 켜짐과 꺼짐이 가장 명확하게 표현할 수 있기 때문이다. 

 

불리언 자료형 : true , false 라고 하며 이러한 선택지를 가질 수 있는 값을 불리언 자료형이라 부른다. 

(예:1 아니요:0 만 필요하기 때문에 1비트면 충분하다.)

 

  • 불 자료형 (1비트)
    ○     ●

 

  • 가위바위보(2비트) : 
     ○○          ●○     ●●

 

바이트 : 비트가 8개 모인것이다. 1바이트는 8비트며 즉 2의 8승으로 0부터 255까지 총 256가지의 값을 얻을 수 있다. 

 


자료형 :  프로그래밍 언어에서 여러 종류의 데이터를 저장하는 방식이다파이썬과 자바스크립트를 제외한 대부분의 프로그래밍 언어는 코드를 작성할 때 이름을 가진 데이터에 자료형을 명시한다. 

 

자료형이 중요한 이유? 

'휴무일 '이라는 변수가 '요일'이라는 자료형으로 선언되어 있고  수요일이라는 값이 들어있다고 가정하면 컴퓨터는 '휴무일', 이 메모리 어느 지점에서 시작되는지는 알고 있지만 위치 정보로는 데이터를 읽을 수 없다. 왜냐하면 시작점으로 부터 몇 비트를 읽어야 하는지 모르기 때문이다. 하지만 정확히 새 비트를 읽어 데이터를 제대로 읽을 수 있는 이유는 변수가 '요알'이란 자료형을 할당받았기 때문이다. 

 

*자료형의 종류

바이트에서 가장 큰수가 2의 8승이 아니라 왜 2의 7승 -1 인 이유?

 바이트를 비롯한 자바의 정수 자료형은 양수와 음수 모두를 나타낼 수 있어야 하는 signed 자료형이기 때문이다.

2의 8승을 반으로 갈라서 반은 음수 -2의 7~ -1 할당하고 나머지는 양수로 할당한다.

 

2의 7승 -1 인 이유?

0도 양수에 표현하기 때문에 1를 빼야한다.

 


문자 인코딩, 유니코드 

 

문자열 셋 :  사용자가 입력한 문자나 기호들을 컴퓨터가 이용할 수 있는 숫자로 만든것이다.

 

문자 인코딩: 문자열 셋을 통해 사람이 입력하는 문자를 그에 해당하는 숫자로 변환되는 것을 문자 인코딩이라고 한다. 

 

문자열 셋과 문자 인코딩을 만든 이유?

아스키 코드는 미국에서 만든 것으로 0~127까지의 7비트 공간안에 알파벳등 각종 부호값들이 지정되어 있다. 

하지만 영어 말고 다른 언어를 사용하는 국가에서 문제가 있어서 자국의 언어를 표시하기 위한 문자열 셋과 

문자 인코딩 방식을 만들었다. 

 

 그러나 서로 다른 문자 인코딩을 사용하는 경우 글자가 깨져버리는 일이 발생했다. 

 (ex) 안녕하세요 => '移쏙뽮)

 

이런 문제를 해결하기 위해 만들어진게 유니코드이다.

 

유니코드: 전 세계가 사용되는 대부분의 문자를 포함한 문자열 셋이다.

이 유니코드로 문자열 셋을 통일함 으로써 문자가 달라서 생기는 호환성 문제에서 벗어나 다양한 문자로 온라인에서 소통이 가능하게 되었다.