Post

자료형

자료형

자료형(Data type)은 왜 있을까?

int(정수)와 float(실수)를 다르게 생각할까?
10과 20은 다르긴 하지만 얘네들을 가지고 할 수 있는 일은 같다.

1과 0.111은 할 수 있는 방법이 다르다.
1과 0.111은 그냥 더하면 안된다. 자릿수를 맞춰야하고 더하고, 유효자리숫자라는게 있어서 유효자리숫자가 안맞으면 버리고…조금 더 복잡한 일을 해야한다.

10과 20은 곱할 수 있다. thing이다.
그렇다면 사람도 thing이다. 하지만 사람 곱하기 사람이 가능한가?
사람 한명을 곱한다는 말은 이상하다.

즉 doing을 보면 어떠한 thing에 대해서 되는것이 있고 어떠한 thing에 대해서 안되는 것이 있다. 다를수도 있고. 그래서 이 thing들을 분류를 하면 좋겠다~ 라는 생각이 든다. 그래야 컴퓨터 프로그래밍이 잘 돌아가고 좋은 프로그래밍이 될 것 같다.

👉 그래서 type이라는 것을 만들었다.



유저 데이터 타입은 왜 있는가?

세상을 더 잘 표현하기 위해서.
만약 수강신청 시스템을 만든다고 하자.
학생이라는 사람에 학번이라든지 요소가 붙어있다.
그런걸 정의해서 유저가 데이터 타입을 만들 수 있게 한다.



자료형(Data type)

같은 정수를 표현하는 자료형이더라도 어떤 자료형을 선택했는지에따라 변수의 크기가 달라진다.

1
int i

👉 정수타입의 데이터가 저장이 되는 4바이트 공간을 만들고, 거기의 공간의 변수 이름을 i라고 이름지었다는 의미가 된다.




1Byte = 8bit

  • bit(비트) - 0또는 1 - 예/아니오 (메모리에서)더 이상 쪼갤 수 없는 최소 단위
  • byte(바이트) - 8bit - 알파벳과 숫자 한 개

2의 10승 = 1024

  • KB(키로바이트) - 1024byte - 몇개의 문단
  • MB(메가바이트) - 1024KB - 분 길이의 mp3노래
  • GB(기가바이트) - 1024MB - 30분 길이의 HD영화
  • TB(테라바이트) - 1024GB - 약 200편의 FHD영화


자료형 그 자체로는 어떠한 실체도 없다.

  • 자료형은 내가 앞으로 선언할 메모리 공간에 이름을 부여하고(변수 이름)
  • 그 공간이 얼마의 크기가 되고
  • 어떠한 형태의 데이터를 표현할 것인지 부연설명을 해주는 역할을 한다.


1byte로 뭘 할 수 있을까?

1byte로 256가지의 정수 상태를 표현할 수 있다.
숫자로는 0~255까지 표현할 수 있다. (양수만 표현)


8bit로 내가 표현 할 수 있는 가지 수는 몇개일까?

1byte = 8bit
1bit로는 01, 두가지 상태를 표현할 수 있다.

  • 1bit가 표현 할 수 있는 가지 수는 2개 (2¹)
  • 2bit가 표현 할 수 있는 가지 수는 4개 (2²)
  • 3bit가 표현 할 수 있는 가지수는…
  • … 2의 8승은 256
This post is licensed under CC BY 4.0 by the author.