Skip to content

Data Type

자료형의 상세 분류

자료형(資料形) 또는 데이터 타입(영어: data type)은 컴퓨터 과학과 프로그래밍 언어에서 실수치, 정수, 불린 자료형 따위의 여러 종류의 데이터를 식별하는 분류로서, 더 나아가 해당 자료형에 대한 가능한 값, 해당 자료형에서 수행을 마칠 수 있는 명령들, 데이터의 의미, 해당 자료형의 값을 저장하는 방식을 결정한다.

개요

자료형은 컴퓨터 기억 장치에 저장된 값, 객체의 표현, 해석, 구조를 설명하면서 자료형 체계 안의 데이터의 해석에 사용된다. 여러 종류의 자료형 체계들은 다양한 범위의 자료형 안전을 보증하며, 자료형 정보를 사용하여 데이터에 접근하고 데이터를 이용하는 컴퓨터 프로그램의 유효성을 확인한다. 자료형은 "프로그램을 실행하지 않고도 결정할 수 있는 프로그램의 특성"으로 정의할 수 있다.

거의 모든 프로그래밍 언어들은 명시적으로 자료형의 개념을 포함하지만 다른 언어들은 다른 용어를 사용할 수도 있다. 일반적으로 다음을 포함한다.

  • 정수 (integer)
  • 불린 (boolean)
  • 문자 (character)
  • 부동소수점 (floating-point number)
  • 수문자의 문자열 (string)

Data types

Data Types

Uninterpreted

Bit, Byte, Trit, Tryte, Word

Numeric

Integer (signedness), Fixed-point, Floating-point, Rational, Complex, Bignum, Interval, Decimal

Text

Character, String (null-terminated)

Pointer

Address (physical, virtual), Reference

Composite

Algebraic data type (generalized), Array, Associative array, Class, List, Object (Metaobject), Option type, Product, Record, Set, Union (tagged)

Other

Boolean, Bottom type, Collection, Enumerated type, Exception, Function type, Opaque data type, Recursive data type, Semaphore, Stream, Top type, Type class, Unit type, Void

Related topics

Type system, Abstract data type, Data structure, Protocol (Interface), Kind (Metaclass), Primitive data type, Subtyping, Generic, Type constructor, Type conversion, Parametric polymorphism

비트 (Bit)

비트(bit, binary digit)는 전산학과 정보 이론의 정보 단위이며, 두값이라고도 부른다. 이 분야에서 쓰이고 있는 최소의 정보저장 단위이며, 현재는 이를 대신할 지도 모르는 큐비트(qubit)에 대한 연구가 진척중이다. 하나의 비트는 0이나 1의 값을 가질 수 있고, 각각은 참, 거짓 혹은 서로 배타적인 상태를 나타낸다. 바이트는 비트가 여러 개 모인 것으로, 원래는 크기가 명확히 정해져 있지 않았지만, 현재는 대개 1옥텟인 8비트가 1바이트이다. 4비트는 니블(nibble)이라 부르며, 두 바이트는 일부 전자통신기기에서 워드(word)를 가리킨다. SI 접두사를 붙여 킬로비트(kb), 메가비트(Mb), 기가비트(Gb) 등의 용어도 자주 쓰인다.

Multiples of bit

Decimal

Value

SI

1000

103

kbit

kilobit

10002

106

Mbit

megabit

10003

109

Gbit

gigabit

10004

1012

Tbit

terabit

10005

1015

Pbit

petabit

10006

1018

Ebit

exabit

10007

1021

Zbit

zettabit

10008

1024

Ybit

yottabit

Binary

Value

IEC

JEDEC

1024

210

Kibit

kibibit

Kbit

kilobit

10242

220

Mibit

mebibit

Mbit

megabit

10243

230

Gibit

gibibit

Gbit

gigabit

10244

240

Tibit

tebibit

-

10245

250

Pibit

pebibit

-

10246

260

Eibit

exbibit

-

10247

270

Zibit

zebibit

-

10248

280

Yibit

yobibit

-

바이트 (Byte)

바이트(byte)는 컴퓨터의 기억장치의 크기를 나타내는 단위로 자주 쓰이며, 많은 프로그래밍 언어에서 정수형에 속하는 자료형이기도 하다. 바이트의 실질적 의미는 ASCII 문자 하나를 나타낼 수 있다는 것이다. 따라서 여러 바이트를 한 워드로 사용하고 있는 현재에도 대부분의 컴퓨터 하드웨에서 메모리의 주소 단위로 사용된다.

바이트의 정의는 여러 가지가 있으며, 서로 비슷한 뜻을 지니지만 섞어 쓸 경우 혼동을 부를 수도 있다.

  1. 일정한 개수의 비트로 이루어진 연속된 비트열. ‘일정한 개수’가 항상 정해진 건 아니지만, 최근에는 사실상 1바이트를 8비트로 간주하는 경우가 흔하다.
  2. 이진 컴퓨터의 워드 안에서 주소로 표현할 수 있는 가장 작은 단위에 해당하는 연속된 비트열. 예를 들어서 CDC 6000 계열의 메인프레임은 60비트 부동 소수점 실수를 6비트짜리 바이트 10개로 나눴으며, 따라서 대문자 로마자와 숫자만을 표현할 수 있는 천공 카드에 결과를 출력하기가 용이했다. 또한 CDC의 경우 12비트 I/O를 사용했기 때문에 12비트를 1바이트라 부르기도 했다. 이 정의 역시 최근에는 대부분 8비트를 가리키지만, 역사적으로 6비트, 7비트, 9비트 등의 바이트가 존재했다.
  3. 직렬 데이터 스트림(예를 들어서 모뎀 등)에서 의미를 가지는 가장 작은 연속된 비트열. 여기에는 시작 비트, 종료 비트, 패리티 비트 등이 포함될 수 있으며, 예를 들어 7비트 ASCII 부호를 저장할 경우 최소 7비트에서 최고 12비트가 한 바이트가 될 수 있다.
  4. 몇몇 프로그래밍 언어의 자료형. 예를 들어 C의 경우 한 바이트는 실행 환경에서 쓰이는 문자들을 담을 수 있을 만큼 큰 단위(C 표준 3.5항)로 정의되며, 한 바이트를 담는 char 자료형은 부호가 있느냐 없느냐와 상관 없이 적어도 8비트 이상(5.2.4.2.1항)이어야 한다. 자바의 byte 자료형은 항상 부호가 있으며 8비트로 정의된다.

한 바이트 안의 비트의 개수가 중요할 경우에는 흔히 옥텟(octet)과 같이 크기가 일정한 단위를 쓰기도 하며, 특히 컴퓨터 네트워크와 전기통신에서 흔히 쓰인다. 또한 프랑스어에서는 옥텟을 바이트의 뜻으로 쓰기도 한다.

워드 (Word)

워드(word)는 하나의 연산을 통해 저장된 장치로부터 레지스터에 옮겨 놓을 수 있는 데이터 단위이다.

단위

SI 접두어 (SI Prefix)

10n

접두어

기호

배수

십진수

10<sup>24

요타 (yotta)

Y

1 000 000 000 000 000 000 000 000

1021

제타 (zetta)

Z

1 000 000 000 000 000 000 000

1018

엑사 (exa)

E

1 000 000 000 000 000 000

1015

페타 (peta)

P

1 000 000 000 000 000

1012

테라 (tera)

T

1 000 000 000 000

109

기가 (giga)

G

십억

1 000 000 000

106

메가 (mega)

M

백만

1 000 000

103

킬로 (kilo)

k

1 000

102

헥토 (hecto)

h

100

101

데카 (deca)

da

10

100

1

10−1

데시 (deci)

d

십분의 일

0.1

10−2

센티 (centi)

c

백분의 일

0.01

10−3

밀리 (milli)

m

천분의 일

0.001

10−6

마이크로 (micro)

µ

백만분의 일

0.000 001

10−9

나노 (nano)

n

십억분의 일

0.000 000 001

10−12

피코 (pico)

p

일조분의 일

0.000 000 000 001

10−15

펨토 (femto)

f

천조분의 일

0.000 000 000 000 001

10−18

아토 (atto)

a

백경분의 일

0.000 000 000 000 000 001

10−21

젭토 (zepto)

z

십해분의 일

0.000 000 000 000 000 000 001

10−24

욕토 (yocto)

y

일자분의 일

0.000 000 000 000 000 000 000 001

Favorite site

References


  1. Ms-dtyp_windows_data_types.pdf