긴 형식의 printf 변환 지정자는 무엇입니까?
그printf
함수는 다음과 같은 인수 유형을 사용합니다.%d
또는%i
잠깐 동안signed int
하지만, 나는 아무것도 보이지 않는다.long
가치.
설치하다l
(소문자 L)이 지정자 바로 앞에 표시됩니다.
unsigned long n;
long m;
printf("%lu %ld", n, m);
제 생각엔
unsigned long n;
printf("%lu", n); // unsigned long
또는
long n;
printf("%ld", n); // signed long
대부분의 플랫폼에서는long
그리고.int
같은 크기(32비트)입니다.다만, 독자적인 형식 지정자가 있습니다.
long n;
unsigned long un;
printf("%ld", n); // signed
printf("%lu", un); // unsigned
64비트의 경우,long long
:
long long n;
unsigned long long un;
printf("%lld", n); // signed
printf("%llu", un); // unsigned
물론 Windows에서는 다릅니다.
printf("%l64d", n); // signed
printf("%l64u", un); // unsigned
64비트 값을 인쇄할 때 16진수로 인쇄하는 것이 도움이 되는 경우가 많습니다(보통 숫자가 그렇게 크면 포인터 또는 비트 필드입니다).
unsigned long long n;
printf("0x%016llX", n); // "0x" followed by "0-padded", "16 char wide", "long long", "HEX with 0-9A-F"
인쇄:
0x00000000DEADBEEF
덧붙여서, "긴"은 더 이상 큰 의미가 없습니다(메인스트림 x64)."int"는 플랫폼의 디폴트 int 사이즈로 보통 32비트입니다."long"은 보통 같은 크기입니다.다만, 낡은 플랫폼(및 현대의 임베디드 플랫폼!)에서는, 휴대성의 의미가 다릅니다."long long"은 64비트 숫자이며, X-플랫폼 휴대용 코드를 편집하는 방법을 제대로 알지 못하는 경우 일반적으로 사용하고자 하는 숫자입니다.그 후에도 그들은 아마도 그 유형의 의미적 의미를 포착하기 위해 매크로를 대신 사용했을 것이다(예: uint64_t).
char c; // 8 bits
short s; // 16 bits
int i; // 32 bits (on modern platforms)
long l; // 32 bits
long long ll; // 64 bits
옛날에는 "int"가 16비트였어요지금은 64비트라고 생각하겠지만, 그렇지 않으면 비정상적인 휴대성 문제가 발생할 수 있습니다.물론 이마저도 난해하고 역사가 풍부한 진실을 단순화한 것이다.Wiki 참조:정수
부호가 없는 길이를 참조하는 경우 포맷 문자는 다음과 같습니다."%lu"
signed long을 가리키는 경우 포맷 문자는 다음과 같습니다."%ld"
.
%ld
cplusplus.com에서 참조
인쇄가 필요했습니다.unsigned long long
그래서 이 작업을 찾았습니다.
unsigned long long n;
printf("%llu", n);
다른 모든 조합은 printf 매뉴얼에 있는 표를 사용하여 행을 선택한 다음 인쇄하려는 유형에 따라 열 라벨을 사용합니다(저와 마찬가지로).printf("%llu", n)
위)를 참조해 주세요.
이 질문에 확실하게 답하려면 사용 중인 컴파일러의 이름과 버전, 컴파일 대상 플랫폼(CPU 타입, OS 등)을 알아야 합니다.
언급URL : https://stackoverflow.com/questions/38561/what-is-the-conversion-specifier-for-printf-that-formats-a-long
'programing' 카테고리의 다른 글
로컬 html 파일을 UI WebView에 로드하는 방법 (0) | 2023.04.20 |
---|---|
명령 프롬프트에서 공백을 사용하려면 어떻게 해야 합니까? (0) | 2023.04.15 |
Bash에서 변수에 유전 값을 할당하려면 어떻게 해야 합니까? (0) | 2023.04.15 |
SQL 쿼리 데이터를 Excel로 내보내기 (0) | 2023.04.15 |
탐색 모음의 UIBarButtonItem을 프로그래밍 방식으로 표시하시겠습니까? (0) | 2023.04.15 |