검수요청.png검수요청.png

"바이트 (프로그래밍)"의 두 판 사이의 차이

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

각주[편집]

  1. 1.0 1.1 바이트〉, 《위키백과》
  2. 자료형〉, 《위키백과》
  3. 3.0 3.1 3.2 데이터 타입〉, 《오픈튜토리얼스》, 2016-11-03
  4. 9)기본 타입〉, 《TCP 스쿨》
  5. upcake, 〈5. 실수형, 문자, 문자열, 논리형 데이터 타입〉, 《티스토리》, 2020-02-27

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 바이트 (프로그래밍) 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.