정수형 문서 원본 보기
←
정수형
둘러보기로 이동
검색으로 이동
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
{{위키데이터 속성 추적}} '''정수형'''(整數型)은 컴퓨터 과학에서 수학의 [[정수]]의 일부 [[유한 집합]]을 대표하는 [[자료형]]이다. == 일반적인 필수 자료형 == {| class="wikitable" |- ! rowspan="2" | 비트 ! rowspan="2" | 이름 ! rowspan="2" | 범위 ! rowspan="2" | 십진법 (대략값) ! rowspan="2" | 이용 !scope=col colspan="5" | 기능 |- ! [[C (프로그래밍 언어)|C]]/[[C++]] !! C# !! 델파이 !! 자바 !! [[SQL]] |- |rowspan=2| 4 |rowspan=2| [[니블|nibble]], [[니블|semioctet]] |''Signed:'' <math>-8</math> ~ <math>7</math>, <math>-(2^3)</math> ~ <math>2^3-1</math> |1 | rowspan="2" colspan="6"| [[이진화 십진법|binary-coded decimal]], single decimal로 표현. |- |''Unsigned:'' <math>0</math> ~ <math>15</math> → 같은 값: ~ <math>2^4 -1</math> |2 |- |rowspan=2| 8 |rowspan=2| [[바이트|byte]], [[옥텟|octet]] |''Signed:'' [[127|<math>-128</math> ~ <math>127</math>]], <math>-(2^7)</math> ~ <math>2^7-1</math> | 3 | rowspan="2" | [[아스키]] 문자 | int8_t, char | sbyte | Shortint | byte | tinyint |- |''Unsigned:'' <math>0</math> ~ <math>255</math> → 같은 값: ~ <math>2^8 -1</math> | 3 | uint8_t, char | byte | Byte | ''n/a'' | unsigned tinyint |- |rowspan=2| 16 |rowspan=2| halfword, [[워드 (컴퓨팅)|word]], short |''Signed:'' [[30000|<math>-32,768</math> ~ <math>32,767</math>]], <math>-(2^{15})</math> ~ <math>2^{15}-1</math> | 5 |rowspan=2 colspan="1"| [[UCS-2]] 문자 | int16_t, short | short | Smallint | short | smallint |- |''Unsigned:'' <math>0</math> ~ <math>65,535</math> → 같은 값: ~ <math>2^{16} -1</math> | 5 | uint16_t | ushort | Word | char | unsigned smallint |- |rowspan=2| 32 |rowspan=2| word, long, doubleword, longword, int |''Signed:'' [[2147483647|<math>-2,147,483,648</math> ~ <math>2,147,483,647</math>]], <math>-(2^{31})</math> ~ <math>2^{31}-1</math> | 10 |rowspan=2 colspan="1"| [[UCS-4]] 문자, [[트루컬러]] + 알파, [[FourCC]], 액션스크립트 int | int32_t, int, long | int | LongInt; Integer | int | int |- |''Unsigned:'' <math>0</math> ~ <math>4,294,967,295</math> → 같은 값: ~ <math>2^{32} -1</math> | 10 | uint32_t | uint | LongWord; Cardinal | ''n/a'' | unsigned int |- | rowspan="2" | 64 | rowspan="2" | word, doubleword, longword, long long, quad, quadword, int64 |''Signed:'' <math>-9,223,372,036,854,775,808</math> ~ <math>9,223,372,036,854,775,807</math>, <math>-(2^{63})</math> ~ <math>2^{63}-1</math> | 19 | rowspan="2" | 매우 큰 수 | int64_t, long, long long | long | Int64 | long | bigint |- |''Unsigned:'' <math>0</math> ~ <math>18,446,744,073,709,551,615</math> → 같은 값: ~ <math>2^{64} -1</math> |20 | uint64_t | ulong | ''n/a'' | ''n/a'' | unsigned bigint |- |rowspan=2| 128 |rowspan=2| octaword, double quadword |''Signed:'' <math>-170,141,183,460,469,231,731,687,303,715,884,105,728</math> ~ <math>170,141,183,460,469,231,731,687,303,715,884,105,727</math>, <math>-(2^{127})</math> ~ <math>2^{127}-1</math> | 39 |rowspan=2 colspan="6" | C: 비표준 컴파일러 확장으로만 사용 가능 |- |''Unsigned:'' <math>0</math> ~ <math>340,282,366,920,938,463,463,374,607,431,768,211,455</math> → 같은 값: ~ <math>2^{128} -1</math> |39 |- | rowspan="2" | ''n'' | rowspan="2" | ''n''-bit integer<br /> (일반적인 경우) | ''Signed:'' <math>(-2^{n-1})</math> ~ <math>(2^{n-1} -1)</math> | colspan="2" | <math>\lceil (n-1) \log_{10}{2} \rceil</math> | colspan="5" | [[에이다 (프로그래밍 언어)|에이다]] <code>범위 -2**(n-1)..2**(n-1)-1</code> |- | ''Unsigned:'' 0 ~ <math>(2^{n}-1)</math> | colspan="2" | <math>\lceil n \log_{10}{2} \rceil</math> | colspan="5" | 에이다 <code>범위 0..2**n-1</code>, 에이다 <code>mod 2**n</code> |} == 바이트와 옥텟 == {{본문|바이트}} == 워드 == {{본문|워드 (컴퓨팅)}} == C/C++ == {{C 언어의 자료형}} {{본문|char}} {{본문|int (C 프로그래밍 언어)}} [[C (프로그래밍 언어)|C]]/[[C++]] 언어에서는 char, int, long, signed, unsigned 등의 키워드에 의해 구현된다. 다른 언어에 비해 C언어는 CPU의 장점을 살려 기계어로 컴파일 되기 때문에 CPU의 데이터 처리 비트와 부호를 다양하게 반영한다. 이를 위해 키워드를 다양하게 두고 있다. char을 사용한 정수형은 1바이트로 고정되지만 int는 CPU마다 다른 비트 수를 갖는다. 따라서 개발자는 사용하는 CPU와 컴파일러의 사양을 확인해서 얼마의 비트수로 처리되는가를 인식해야 한다. ; 8비트 CPU의 일반적인 처리 비트수 * char : 8비트 정수형 * int : 16비트 정수형 * long int : 32비트 정수형 ; 32비트 CPU의 일반적인 처리 비트수 * char : 8비트 정수형 * short : 16비트 정수형 * int : 32비트 정수형 * long long : 64비트 정수형 ; 정수형 부호지정 * signed char|int : 부호를 갖는 정수형으로 [[2의 보수]]체계를 사용한다. * unsigned char|int : 부호가 없는 정수형으로 이진법과 같은 수의 배치를 갖는다. == 자바 == {{본문|자바}} [[파일:Java virtual machine architecture.svg|섬네일|200px|자바소스코드는 컴파일러에 의해 [[바이트코드]]로 생성되고, [[JVM]]에 의해 해석되고 수행된다.]] [[자바 (프로그래밍 언어)|자바]]는 C언어처럼 특정 CPU에 맞추어 컴파일 되는 것이 아니고, 어느 CPU나 실행될 수 있는 BYTE 코드의 중간 형태의 실행 파일을 만든다. 따라서 C언어가 CPU의 상황에 맞추어 정수형 비트 수를 다르게 사용하는 것에 비해, 자바는 [[가상 머신]]([[VM]])에 의해 해석되고 실행된다. 일종의 [[에뮬레이션]] 된다는 느낌의 실행 방식이다. 이렇게 되면 해석(Interpreter에 의해 번역)되어 실행되므로 정수형 비트수를 다르게 할 필요가 없다. C/C++는 정수 실행이 기계어에 의해 ALU과 연관되어 실행되는 것과 대조적이다. ;자바 고유의 정수 비트 수 * byte : 8비트 정수형 * short : 16비트 정수형 * int : 32비트 정수형 * long : 64비트 정수형 C언어가 int을 CPU에 따라 16비트 또는 32비트를 사용하는 반면 자바는 32비트를 사용한다. 일종의 통일성을 유지하므로 C언어 보다 편리하다. 정수 부호의 처리는 [[2의 보수]]로 C언어와 동일하다. 자바에서 char 변수는 16비트의 [[유니코드]]([[UNICODE]])를 처리하므로 C/C++의 char와 혼동하면 안 된다. == 같이 보기 == * 수학에서의 [[정수]] * [[char]] C 프로그래밍 언어 * [[int (C 프로그래밍 언어)]] {{자료형}} [[분류:원시 자료형]] [[분류:자료형]] [[분류:컴퓨터 산술]]
이 문서에서 사용한 틀:
틀:C 언어의 자료형
(
원본 보기
)
틀:본문
(
원본 보기
)
틀:위키데이터 속성 추적
(
원본 보기
)
틀:자료형
(
원본 보기
)
정수형
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
한국어
보기
읽기
원본 보기
역사 보기
더 보기
검색
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보