>  기사  >  백엔드 개발  >  'long' 데이터 유형이 충분하지 않을 때 'LL' 접미사를 사용하면 C/C에서 큰 정수 값을 어떻게 처리할 수 있나요?

'long' 데이터 유형이 충분하지 않을 때 'LL' 접미사를 사용하면 C/C에서 큰 정수 값을 어떻게 처리할 수 있나요?

DDD
DDD원래의
2024-11-07 10:28:03986검색

How does the `LL` suffix enable handling large integer values in C/C   when the `long` data type is insufficient?

C/C의 long long

이 코드 조각은 C/C의 long long 데이터 유형 사용을 보여줍니다.

#include <stdio.h>

int main()
{
    int  num1 = 1000000000;
    long num2 = 1000000000;
    long long num3;
    long long num4 = ~0;

    printf("%u %u %u", sizeof(num1), sizeof(num2), sizeof(num3));
    printf("%d %ld %lld %llu", num1, num2, num3, num4);
    return 0;
}

주석이 없는 줄을 사용하여 코드를 컴파일할 때(long 데이터 유형에 비해 너무 큰 값 할당) 오류가 발생합니다.

error: integer constant is too large for long type

값이 100000000000이기 때문입니다. long 데이터 유형에 비해 너무 크며 컴파일러에서는 long long 데이터 유형을 명시적으로 지정하기 위해 접미사가 필요합니다. 이 문제를 해결하려면 리터럴에 LL 접미사를 추가하세요.

long long num3 = 100000000000LL;

LL 접미사는 리터럴이 long long 값으로 처리되어야 함을 나타냅니다. 코드를 컴파일하고 실행하면 10000000000보다 큰 값이 생성되는데, 이는 long long 데이터 유형의 확장된 범위를 보여줍니다.

위 내용은 'long' 데이터 유형이 충분하지 않을 때 'LL' 접미사를 사용하면 C/C에서 큰 정수 값을 어떻게 처리할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.