long long intで64bit整数値を格納した際に、その値をprintfで表示させる方法です。 普通に%dや%xで表示させようとしても、下位32bit分しか見てくれないので正しい値を表示させる事が出来ません プログラム #include <stdio.h> int main() { long long int a = (long long int)1 << 63; // NG: intとして表示 printf( "case1: %d\n", a ); // NG: 16進で表示 printf( "case2: %x\n", a ); }