"바이트 (프로그래밍)"의 두 판 사이의 차이
(→역사) |
잔글 |
||
(사용자 4명의 중간 판 16개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
− | '''바이트'''(byte)는 [[컴퓨터]]의 [[기억장치]]의 크기를 나타내는 | + | '''바이트'''(byte)는 [[컴퓨터]]의 [[기억장치]]의 크기를 나타내는 단위 및 많은 [[프로그래밍]] 언어에서 [[정수형]]에 속하는 [[데이터 타입]](data type)이다.<ref name="위키백과">〈[https://ko.wikipedia.org/wiki/%EB%B0%94%EC%9D%B4%ED%8A%B8 바이트]〉, 《위키백과》</ref> |
==개요== | ==개요== | ||
− | 바이트의 실질적 의미는 [[아스키]](ASCII) 문자 하나를 나타낼 수 있다는 것이다. 따라서 여러 바이트를 한 워드로 사용하고 있는 현재에도 대부분의 컴퓨터 하드웨어에서 메모리의 주소 단위로 사용된다. | + | 바이트의 실질적 의미는 [[아스키]](ASCII) 문자 하나를 나타낼 수 있다는 것이다. 따라서 여러 바이트를 한 워드로 사용하고 있는 현재에도 대부분의 컴퓨터 하드웨어에서 메모리의 주소 단위로 사용된다. 바이트라는 용어는 1956년 6월 [[워너 부츠홀츠]](Werner Buchholz)가 창안하였는데, 당시 [[IBM 스트레치]] 컴퓨터의 초기 설계를 하고 있던 시기였다. 비트 및 가변 필드 길이(VFL) 명령을 한 바이트 크기로 [[인코딩]]하려던 참이었는데, 우연으로 비트(bit)로 발음이 되지 않게 하려고 바이트(byte)로 철자를 바꾸었다.<ref name="위키백과"></ref> |
− | |||
− | |||
− | |||
==데이터 타입== | ==데이터 타입== | ||
− | 데이터 타입(data type)은 컴퓨터 가학과 프로그래밍 언어에서 실수치, 정수, [[불린]] 자료형 등 여러 종류의 데이터를 식별하는 분류로서, 더 나아가 해당 자료형에 대한 가능한 값, 해당 자료형에서 수행을 마칠 수 있는 명령들, 데이터의 의미, 해당 자료형의 값을 저장하는 방식을 결정한다.<ref>〈[https://ko.wikipedia.org/wiki/%EC%9E%90%EB%A3%8C%ED%98%95 자료형]〉,《위키백과》</ref>데이터 타입에 대해서 알기 전에 [[데이터]]의 크기에 대해서 알아야 한다. | + | 데이터 타입(data type)은 컴퓨터 가학과 프로그래밍 언어에서 실수치, 정수, [[불린]] 자료형 등 여러 종류의 데이터를 식별하는 분류로서, 더 나아가 해당 자료형에 대한 가능한 값, 해당 자료형에서 수행을 마칠 수 있는 명령들, 데이터의 의미, 해당 자료형의 값을 저장하는 방식을 결정한다.<ref>〈[https://ko.wikipedia.org/wiki/%EC%9E%90%EB%A3%8C%ED%98%95 자료형]〉, 《위키백과》</ref> 데이터 타입에 대해서 알기 전에 [[데이터]]의 크기에 대해서 알아야 한다. |
===데이터 크기=== | ===데이터 크기=== | ||
− | {| | + | {|class=wikitable width=500 |
+ | !align=center|크기 | ||
+ | !align=center|변환 크기 | ||
|- | |- | ||
− | | 8 bit | + | |align=center|8 비트(bit) |
+ | |align=center|1 바이트 | ||
|- | |- | ||
− | | 1024 byte | + | |align=center|1024 바이트(byte) |
+ | |align=center|1 킬로바이트 | ||
|- | |- | ||
− | | 1024 kilobyte | + | |align=center|1024 킬로바이트(kilobyte) |
+ | |align=center|1 메가바이트 | ||
|- | |- | ||
− | | 1024 megabyte | + | |align=center|1024 메가바이트(megabyte) |
+ | |align=center|1 기가바이트 | ||
|- | |- | ||
− | | 1024 gigabyte | + | |align=center|1024 기가바이트(gigabyte) |
+ | |align=center|1 테라바이트 | ||
|- | |- | ||
− | | 1024 terabyte | + | |align=center|1024 테라바이트(terabyte) |
+ | |align=center|1 페타바이트 | ||
|- | |- | ||
− | | 1024 petabyte | + | |align=center|1024 페타바이트(petabyte) |
+ | |align=center|1 엑사바이트 | ||
|- | |- | ||
− | | 1024 exabyte | + | |align=center|1024 엑사바이트(exabyte) |
+ | |align=center|1 제타바이트 | ||
|} | |} | ||
− | 컴퓨터에 저장되는 정보의 가장 작은 단위는 | + | |
+ | 컴퓨터에 저장되는 정보의 가장 작은 단위는 비트이다. 컴퓨터를 이루는 0과 1이 비트이다.<ref name="오픈튜토리얼스>〈[https://opentutorials.org/course/2517/13987 데이터 타입]〉, 《오픈튜토리얼스》, 2016-11-03</ref> | ||
===정수=== | ===정수=== | ||
− | {| | + | {|class=wikitable width=700 |
|- | |- | ||
− | | 데이터 타입 | + | !align=center|데이터 타입 |
+ | !align=center|메모리의 크기 | ||
+ | !align=center|표현 가능 범위 | ||
|- | |- | ||
− | | | + | |align=center|바이트 |
+ | |align=center|1 바이트 | ||
+ | |align=center|-128 ~ 127 | ||
|- | |- | ||
− | | short || 2 | + | |align=center|short |
+ | |align=center|2 바이트 | ||
+ | |align=center|-32,768 ~ 32,767 | ||
|- | |- | ||
− | | int || 4 | + | |align=center|int |
+ | |align=center|4 바이트 | ||
+ | |align=center|-2,147,483,648~2,147,483,647 | ||
|- | |- | ||
− | | long || 8 | + | |align=center|long |
+ | |align=center|8 바이트 | ||
+ | |align=center|-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | ||
|} | |} | ||
− | 어떤 숫자를 저장하느냐에 따라서 사용하는 [[메모리]]의 크기가 달라지는 것이 아니고, 어떤 데이터 타입으로 변수를 선언했느냐에 따라서 사용하는 메모리의 크기가 달라지는 것이다. 결국, | + | |
+ | 어떤 숫자를 저장하느냐에 따라서 사용하는 [[메모리]]의 크기가 달라지는 것이 아니고, 어떤 데이터 타입으로 변수를 선언했느냐에 따라서 사용하는 메모리의 크기가 달라지는 것이다. 결국, [[변수]]에 들어올 수 있는 숫자의 최대 크기를 잘 판단해서 데이터 타입을 지정해야 메모리의 용량을 아낄 수 있다.<ref name="오픈튜토리얼스"></ref> | ||
===실수=== | ===실수=== | ||
− | {| | + | {|class=wikitable width=700 |
|- | |- | ||
− | | 데이터 타입 | + | !align=center|데이터 타입 |
+ | !align=center|메모리의 크기 | ||
+ | !align=center|표현 가능 범위 | ||
|- | |- | ||
− | | float || 4 | + | |align=center|float |
+ | |align=center|4 바이트 | ||
+ | |align=center|±(1.40129846432481707e-45 ~ 3.40282346638528860e+38) | ||
|- | |- | ||
− | | double || 8 | + | |align=center|double |
+ | |align=center|8 바이트 | ||
+ | |align=center|±(4.94065645841246544e-324d ~ 1.79769313486231570e+308d) | ||
|} | |} | ||
− | 실수형 데이터의 타입을 결정할 때는 표현 범위 이외에도 유효 자릿수를 반드시 고려해야 한다. 과거에는 실수를 표현할 때 [[float]]형을 많이 사용했지만, [[하드웨어]]의 발달로 인한 메모리 공간의 증가로 현재에는 [[double]]형을 가장 많이 사용한다.<ref>〈[http://tcpschool.com/c/c_datatype_basic 9)기본 타입]〉,《TCP | + | |
+ | 실수형 데이터의 타입을 결정할 때는 표현 범위 이외에도 유효 자릿수를 반드시 고려해야 한다. 과거에는 실수를 표현할 때 [[float]]형을 많이 사용했지만, [[하드웨어]]의 발달로 인한 메모리 공간의 증가로 현재에는 [[double]]형을 가장 많이 사용한다.<ref>〈[http://tcpschool.com/c/c_datatype_basic 9)기본 타입]〉, 《TCP 스쿨》</ref> | ||
===문자=== | ===문자=== | ||
− | {| | + | {|class=wikitable width=700 |
|- | |- | ||
− | | 데이터 타입 | + | !align=center|데이터 타입 |
+ | !align=center|메모리의 크기 | ||
+ | !align=center|표현 가능 범위 | ||
|- | |- | ||
− | | char || 2 | + | |align=center|char |
+ | |align=center|2 바이트 | ||
+ | |align=center|모든 유니코드 문자 | ||
|- | |- | ||
|} | |} | ||
− | [[자바]](Java)에서는 [[문자]]와 [[문자열]]이 다르다. | + | [[자바]](Java)에서는 [[문자]](character)와 [[문자열]](string)이 다르다. 문자는 글자 하나를 의미하고, 문자열은 글자들의 집합을 의미한다. 문자는 [[char]]형태이고, char는 2 바이트의 메모리를 사용하기 때문에 6글자를 담고 있는 [[String]] 타입의 변수는 12 바이트의 공간을 차지하게 된다.<ref name="오픈튜토리얼스"></ref> |
===논리=== | ===논리=== | ||
− | {| | + | {|class=wikitable width=700 |
− | |||
− | |||
|- | |- | ||
− | | | + | !align=center|데이터 타입 |
+ | !align=center|메모리의 크기 | ||
+ | !align=center|표현 가능 범위 | ||
|- | |- | ||
+ | |align=center|boolean | ||
+ | |align=center|1 바이트 | ||
+ | |align=center|true / false | ||
|} | |} | ||
− | |||
+ | [[참]](true)과 [[거짓]](false)만 기억하며 [[조건문]]을 작성할 때 주로 사용한다.<ref>upcake, 〈[https://upcake.tistory.com/20 5. 실수형, 문자, 문자열, 논리형 데이터 타입]〉, 《티스토리》, 2020-02-27</ref> | ||
{{각주}} | {{각주}} | ||
==참고자료== | ==참고자료== | ||
− | * 〈[https://ko.wikipedia.org/wiki/%EB%B0%94%EC%9D%B4%ED%8A%B8 바이트]〉,《위키백과》 | + | * 〈[https://ko.wikipedia.org/wiki/%EB%B0%94%EC%9D%B4%ED%8A%B8 바이트]〉, 《위키백과》 |
− | * 〈[https://ko.wikipedia.org/wiki/%EC%9E%90%EB%A3%8C%ED%98%95 자료형]〉,《위키백과》 | + | * 〈[https://ko.wikipedia.org/wiki/%EC%9E%90%EB%A3%8C%ED%98%95 자료형]〉, 《위키백과》 |
− | * 〈[https://opentutorials.org/course/2517/13987 데이터 타입]〉,《오픈튜토리얼스》,2016-11-03 | + | * 〈[https://opentutorials.org/course/2517/13987 데이터 타입]〉, 《오픈튜토리얼스》, 2016-11-03 |
− | * 〈[http://tcpschool.com/c/c_datatype_basic 9)기본 타입]〉,《TCP | + | * 〈[http://tcpschool.com/c/c_datatype_basic 9)기본 타입]〉, 《TCP 스쿨》 |
− | * upcake,〈[https://upcake.tistory.com/20 5. 실수형, 문자, 문자열, 논리형 데이터 타입]〉,《티스토리》,2020-02-27 | + | * upcake, 〈[https://upcake.tistory.com/20 5. 실수형, 문자, 문자열, 논리형 데이터 타입]〉, 《티스토리》, 2020-02-27 |
==같이 보기== | ==같이 보기== | ||
93번째 줄: | 126번째 줄: | ||
* [[데이터 타입]] | * [[데이터 타입]] | ||
* [[기억장치]] | * [[기억장치]] | ||
+ | * [[바이트]] | ||
{{프로그래밍|검토 필요}} | {{프로그래밍|검토 필요}} |
2021년 9월 24일 (금) 10:23 기준 최신판
바이트(byte)는 컴퓨터의 기억장치의 크기를 나타내는 단위 및 많은 프로그래밍 언어에서 정수형에 속하는 데이터 타입(data type)이다.[1]
개요[편집]
바이트의 실질적 의미는 아스키(ASCII) 문자 하나를 나타낼 수 있다는 것이다. 따라서 여러 바이트를 한 워드로 사용하고 있는 현재에도 대부분의 컴퓨터 하드웨어에서 메모리의 주소 단위로 사용된다. 바이트라는 용어는 1956년 6월 워너 부츠홀츠(Werner Buchholz)가 창안하였는데, 당시 IBM 스트레치 컴퓨터의 초기 설계를 하고 있던 시기였다. 비트 및 가변 필드 길이(VFL) 명령을 한 바이트 크기로 인코딩하려던 참이었는데, 우연으로 비트(bit)로 발음이 되지 않게 하려고 바이트(byte)로 철자를 바꾸었다.[1]
데이터 타입[편집]
데이터 타입(data type)은 컴퓨터 가학과 프로그래밍 언어에서 실수치, 정수, 불린 자료형 등 여러 종류의 데이터를 식별하는 분류로서, 더 나아가 해당 자료형에 대한 가능한 값, 해당 자료형에서 수행을 마칠 수 있는 명령들, 데이터의 의미, 해당 자료형의 값을 저장하는 방식을 결정한다.[2] 데이터 타입에 대해서 알기 전에 데이터의 크기에 대해서 알아야 한다.
데이터 크기[편집]
크기 | 변환 크기 |
---|---|
8 비트(bit) | 1 바이트 |
1024 바이트(byte) | 1 킬로바이트 |
1024 킬로바이트(kilobyte) | 1 메가바이트 |
1024 메가바이트(megabyte) | 1 기가바이트 |
1024 기가바이트(gigabyte) | 1 테라바이트 |
1024 테라바이트(terabyte) | 1 페타바이트 |
1024 페타바이트(petabyte) | 1 엑사바이트 |
1024 엑사바이트(exabyte) | 1 제타바이트 |
컴퓨터에 저장되는 정보의 가장 작은 단위는 비트이다. 컴퓨터를 이루는 0과 1이 비트이다.[3]
정수[편집]
데이터 타입 | 메모리의 크기 | 표현 가능 범위 |
---|---|---|
바이트 | 1 바이트 | -128 ~ 127 |
short | 2 바이트 | -32,768 ~ 32,767 |
int | 4 바이트 | -2,147,483,648~2,147,483,647 |
long | 8 바이트 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
어떤 숫자를 저장하느냐에 따라서 사용하는 메모리의 크기가 달라지는 것이 아니고, 어떤 데이터 타입으로 변수를 선언했느냐에 따라서 사용하는 메모리의 크기가 달라지는 것이다. 결국, 변수에 들어올 수 있는 숫자의 최대 크기를 잘 판단해서 데이터 타입을 지정해야 메모리의 용량을 아낄 수 있다.[3]
실수[편집]
데이터 타입 | 메모리의 크기 | 표현 가능 범위 |
---|---|---|
float | 4 바이트 | ±(1.40129846432481707e-45 ~ 3.40282346638528860e+38) |
double | 8 바이트 | ±(4.94065645841246544e-324d ~ 1.79769313486231570e+308d) |
실수형 데이터의 타입을 결정할 때는 표현 범위 이외에도 유효 자릿수를 반드시 고려해야 한다. 과거에는 실수를 표현할 때 float형을 많이 사용했지만, 하드웨어의 발달로 인한 메모리 공간의 증가로 현재에는 double형을 가장 많이 사용한다.[4]
문자[편집]
데이터 타입 | 메모리의 크기 | 표현 가능 범위 |
---|---|---|
char | 2 바이트 | 모든 유니코드 문자 |
자바(Java)에서는 문자(character)와 문자열(string)이 다르다. 문자는 글자 하나를 의미하고, 문자열은 글자들의 집합을 의미한다. 문자는 char형태이고, char는 2 바이트의 메모리를 사용하기 때문에 6글자를 담고 있는 String 타입의 변수는 12 바이트의 공간을 차지하게 된다.[3]
논리[편집]
데이터 타입 | 메모리의 크기 | 표현 가능 범위 |
---|---|---|
boolean | 1 바이트 | true / false |
참(true)과 거짓(false)만 기억하며 조건문을 작성할 때 주로 사용한다.[5]
각주[편집]
참고자료[편집]
- 〈바이트〉, 《위키백과》
- 〈자료형〉, 《위키백과》
- 〈데이터 타입〉, 《오픈튜토리얼스》, 2016-11-03
- 〈9)기본 타입〉, 《TCP 스쿨》
- upcake, 〈5. 실수형, 문자, 문자열, 논리형 데이터 타입〉, 《티스토리》, 2020-02-27
같이 보기[편집]