c/c++輸出64位×××值

  在c/c++中,整型通常來講是32位的,如long、int等。而對於64位的整型,須要用一些特殊的定義。如long long或uint64_t。c++

  這些值在使用printf輸出時,須要作一些修正才能夠正確輸出,以下示例:ide

  
  
  
  
  1. #include <inttypes.h> 
  2. #include <stdio.h> 
  3. int main() 
  4.     uint64_t t = 111111111111111142; 
  5.     printf("1. %d\n",t); 
  6.     printf("2. %lu\n",t); 
  7.     printf("3. " "%" PRIu64 "\n", t); 
  8.     return 0; 

用gcc編譯,運行結果以下:ui

可見,只有使用第三種方法,才能夠順利的顯示出64位的數值來。spa

 

另外,在VC10中,並無<inttypes.h> 。blog

VC10中有一個<stdint.h>,其中定義了uint64_t,但沒有定義PRIu64。get

在gcc中,<stdint.h>是包含在<inttypes.h>中的。string

因此,上述的第三種方法,沒法在VC中實現。在VC中,你們仍是使用std::cout做爲輸出方式吧。it

相關文章
相關標籤/搜索