2010-04-15 4 views
1

이러한 새로운 데이터 형식의 용도는 무엇입니까? 나는 보통 "int"또는 "long"을 사용하지만, 왜 이것이 존재 하는가? 새로운 기능이나 목적은 무엇입니까?"long int", "long long"데이터 형식

+1

그들은 꽤 오래 이미 존재했습니다 ... – Joey

+0

long long int는 어떻습니까? –

+0

'long long int'는'long long'과 동일합니다.) –

답변

5

long int은 거의 사용되지 않은 long의 전체 이름이었습니다.

long long은 잠시 동안 (지난 C 표준에서) 약 64 비트 크기 (long 만 32 비트 보장)를 보장합니다.

0

글쎄, 그들은 컴퓨터가 쉽게 처리 할 수 ​​있도록 예를 들어 빌 게이츠의 세금 신고서를 제공합니다.

제쳐두고, long int은 전혀 새로운 것이 아니지만 대부분의 사람들은 더 짧은 변형 long을 사용합니다. 새로운 ISO 표준의 이번 드래프트에서 이들에 속편에 대한

봐 : 분명히

longer long  - slightly larger than a long long (this was initially put 
        forward as "long long long" but the ISO committee barfed). 
even longer long - bigger yet. 
stupendous long - should keep us going for a while. 

</유머 >

+1

길게 잃어 버렸습니다 ++ – amelvin

+1

다른 길로 가면 '짧은 길'을 실현할 수있는 기회가 있습니다. 이것은 새로운 키워드를 도입하지 않는 이점이 있습니다. 그들은 또한 보장 된 바이트 길이의 양을하는 방법으로'short short'를 소개 할 수 있습니다.'char'는 지역 문자 세트를 완전하게 표현하는 데 필요한 것이 무엇이든지 해방됩니다 ...

+0

c1x는 8 비트 유형 (및 다른 특정 비트 폭)을 갖는 구현에 대해 uint8_t (또는 이와 비슷한)를 제공합니다. 저는 RGB 값에 대해 24 비트 길이의 짧은 아이디어를 좋아합니다. – paxdiablo

0

음, "오래 오래"도 이상 "긴보다 ". :)

차이점은 플랫폼에 따라 다릅니다. "long long"은 "long"이 32 비트이거나 둘 다 64 비트 일 수있는 경우 64 비트 정수가 될 수 있습니다. "긴 int"에 관해서는, 그것은 길다는 말의 긴 길이다. 아무 말도 의도하지 않았다.

0

아마도 C++을 지원하는 C99과 호환 될 것입니다. 그리고 대부분의 컴파일러가 을 지원하기 때문에 실제로는을 지원합니다.

+0

때로 표준은 일반적인 작업에 고무가 찍히는 것을 지연시킵니다 (프로세스에서 너무 많은 불쾌한 것들을 축복하지 않기를 바랍니다). –

0

long intlong의 완전한 형태이며, 예를 들어 unsigned long int과 구별됩니다. 이것은 C++ 0x에서는 새로운 것이 아닙니다.

long long은 이미 오늘 컴파일러에서 일반적입니다. 호환성을 위해, longint은 64 비트 아키텍처에서도 32 비트입니다. long long은 이러한 상황에서 64 비트를 지정합니다. C99의 일부이며 해당 표준에 따라 최소한 64 비트 여야합니다.

long long long을 사용하여 일부 컴파일러에서 128 비트 데이터 형식을 가져올 수도 있습니다. 다른 컴파일러는 속성을 사용하여 이러한 숫자를 제공합니다 (예 : GCC는 __attribute__((__mode__(__TI__))))). <limits.h>__int128_t/__uint128_t입니다.

0

언급 한 것처럼 이러한 유형은 새로운 것은 아닙니다. this overview에 관심이있을 수 있습니다. 추가 설명으로 형식에 대해 혼란 스러우면 intn_t types을 사용하여 더 명확한 "의미"를 나타낼 수 있습니다.

관련 문제