다른 Cpu 지원 다양한 필수적인 데이터 유형이 있습니다. 일반적으로 하드웨어는 부호있는 유형과 부호없는 유형을 모두 지원하지만 작고 고정 된 너비 세트 만 지원합니다.
위의 표는 일반적인 프로세서에서 하드웨어에서 지원되는 적분 유형 너비를 나열합니다. 높은 수준의 프로그래밍 언어는 더 많은 가능성을 제공합니다. 가장 큰 하드웨어 지원 유형보다 두 배 많은 비트를 갖는’이중 너비’적분 유형을 갖는 것이 일반적입니다., 많은 언어는 또한 비트 필드 형태(지정된 비트의 개수,일반적으로 제약하는 것보다 작은 최대 하드웨어를 지원하는 폭이)범위 유형(을 나타낼 수 있는만 정수로 지정된 범위에).
Lisp,Smalltalk,REXX,Haskell,Python 및 Raku 와 같은 일부 언어는 임의의 정밀도 정수(무한 정밀도 정수 또는 bignums 라고도 함)를 지원합니다., 다른 언어로 지원하지 않는 이 개념으로는 최고 수준의를 구성할 수 있는 라이브러리를 나타내는 데 사용할 수 있는 아주 큰 숫자를 사용하여 배열의 작은 변수,Java 와 같의 BigInteger 클래스 또는 Perl 의”bigint”패키지입니다. 이러한 많이 사용하는 컴퓨터의 메모리를 저장하는 데 필요한 숫자이지만,컴퓨터에만 한정된 양의 저장,그래서 그들은 너무만을 나타낼 수 있습 유한 하위 집합의 수학적 정수입니다. 이러한 방식을 지원은 매우 큰 숫자로,예를 들어 하나 kb 의 메모리를 저장하는 데 사용될 수 있습 까지의 숫자를 2466 소수점 자리의 숫자입니다.,
부울 또는 플래그 유형은 0 과 1 의 두 값만 나타낼 수있는 유형이며 일반적으로 각각 false 와 true 로 식별됩니다. 이 유형에 저장할 수 있는 메모리를 사용하여 싱글 비트,하지만 종종 전체 바이트의 편의를 위하여 연결 속도 액세스입니다.
네트량은 알로 니블(을 먹을 때,보다 작은 것을 가능)또는 nybble(는 말장난의 모양을 단어 바이트). 하나의 니블은 16 진수의 한 숫자에 해당하며 한 자리 또는 2 진수로 코딩 된 십진수의 부호 코드를 보유합니다.,
바이트 및 octetsEdit
용어에 처음 바이트 뜻은’가장 작은 어드레스로 불러낼 수 있는 장치의 메모리’. 과거에는, 5-, 6-, 7-, 8-, 그리고 9 비트 바이트가 모두 사용되었습니다. 가 있었할 수 있는 컴퓨터 주소가 개별적인 비트(조 해결 기계’)또는 수소 16 비트 또는 32 비트 양(‘단어는 지정된 기계’). 바이트라는 용어는 일반적으로 비트 및 워드 어드레싱 머신과 관련하여 전혀 사용되지 않았습니다.
octet 이라는 용어는 항상 8 비트 수량을 나타냅니다., 주로 바이트 너비가 다른 컴퓨터가 통신해야 할 수도있는 컴퓨터 네트워킹 분야에서 사용됩니다.
에 현대적인 사용이 거의 바이트 변함없이 의미 eight bits,이후 모든 다른 크기로 떨어졌 폐기;따라서 바이트가 올 것과 동의어 octet.
WordsEdit
실질적으로 모든 새로운 데스크탑 프로세서를 사용할 수 있는 64 비트 단어지만,임베디드 프로세서 8-,16-비트 단어의 크기는 아직 일반적입니다. 36 비트 워드 길이는 컴퓨터 초기에 일반적이었습니다.,
중 하나의 중요한 원인이 아닌 휴대의 소프트웨어는 잘못하는 모든 컴퓨터에 같은 단어로 사용되는 컴퓨터에 의해 프로그래머입니다. 예를 들면,프로그래머를 사용하여 C 언어를 잘못 선언 int 는 변수를 저장하는 데 사용할 값보다 크 215-1,프로그램이 실패하는 컴퓨터에서 16 비트 정수입니다. 그 변수는 모든 컴퓨터에 적어도 32 비트가있는 한 선언되어 있어야합니다., 프로그래머 수 있습니다 또한 잘못 가는 포인터를 변환할 수 있는 정수 정보 손실 없이는 작동할 수 있에(일부)32-bit 컴퓨터,하지만 실패에는 64 비트 컴퓨터와 64 비트 포인터를 32 비트의 정수입니다. 이 문제는 stdint 의 C99 에 의해 해결됩니다.h 는intptr_t
의 형태입니다.
짧은 integerEdit
짧은 정수할 수 있습을 나타내는 숫자를 표시할 수있는 더 적은 저장하는 동안,더 작은 범위에 비해 표준의 정수 같은 기계입니다.
C 에서는 short 로 표시됩니다., 16 비트 이상이어야하며 표준 정수보다 작은 경우가 많지만 필요하지 않습니다. 가 따르는 프로그램을 수 있다고 가정할 수 있는 안전하게 저장 값이(215-1)및 215-1 지만,그것은 수도 있다고 가정하지 않는 범위지 않는 더 크다. Java 에서 short 는 항상 16 비트 정수입니다. Windows API 에서 DATATYPE SHORT 는 모든 시스템에서 16 비트 부호있는 정수로 정의됩니다.,>−32,768
Long integerEdit
A long integer can represent a whole integer whose range is greater than or equal to that of a standard integer on the same machine.,
C 에서는 long 으로 표시됩니다. 32 비트 이상이어야하며 표준 정수보다 클 수도 있고 그렇지 않을 수도 있습니다. 가 따르는 프로그램을 수 있다고 가정할 수 있는 안전하게 저장 값이(2 31-1 입)및 2 31-1 입지만,그것은 수도 있다고 가정하지 않는 범위지 않는 더 크다.여기서”long long”이 리디렉션됩니다. 그것은 긴 또는 긴,긴,긴 혼동하지 않습니다.,
에 C99 버전의 프로그래밍 언어로는 C++11 버전의 C++,along long
유형이 지원되는 두 배 최소의 용량을 표준long
. 이 유형은 c++03 에 long long 유형이 존재하지 않았기 때문에 c 코드가 이전 C++표준 인 C++03 을 준수해야하는 컴파일러에서는 지원되지 않습니다. For ANSI/ISO 를 준수하는 컴파일러,최소한의 요구 사항에 대한 지정 범위는,−(263-1)을 263-1 를 위해 서명되고 0 264-1 한 부호 없는 충족해야 합니다;그러나 늘 이 범위는 허용된다., 플랫폼간에 코드와 데이터를 교환하거나 직접 하드웨어 액세스를 수행 할 때 문제가 될 수 있습니다. 따라서 플랫폼 독립적 인 정확한 너비 유형을 제공하는 여러 헤더 세트가 있습니다. C 표준 라이브러리는 stdint 를 제공합니다.h;이것은 C99 및 C++11 에 도입되었습니다.피>