C/C++程式設計:printf十六進位制輸出64位
阿新 • • 發佈:2021-01-09
技術標籤:# C++
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <inttypes.h>
int main()
{
uint64_t num = 9223354444668731392;
printf("%lu\n", num); //十進位制輸出
printf("0x%"PRIx64"\n", num); //十六進位制輸出
printf("0x%016lx\n", num); //十六進位制輸出: 0表示空餘的位用零填充,16表示顯示16位數字(格式化的字元數寬度),I64表示64位int值(I32表示32位int值,i必須大寫), x表示十六進位制形式顯示
char *flags = "0x0000000000000000";
uint64_t debug_flags = strtoull(flags, NULL, 0);
printf("Debug flags set to '0x%" PRIX64 "'.\n", debug_flags) ;
char *flags1 = "0x000000000001239";
uint64_t debug_flags1 = strtoull(flags1, NULL, 0);
printf("Debug flags set to '0x%" PRIX64 "'.\n", debug_flags1);
printf("Debug flags set to '0x%016lx'.\n", debug_flags1);
}