我的編程學習日誌(6)--在C/C++中使用 64 位整數

今天遇到一個問題,c中int只有32位,但要用到64位時怎麼辦?

最初我用的是long long但發現這樣編譯不能通過,查找了資料才知道每個編譯器定義,輸出的方式不同,下面把他分享出來

變量定義

輸出方式

gcc(mingw32)

g++(mingw32)

gcc(linux i386)

g++(linux i386)

MicrosoftVisual C++ 6.0

long long

“%lld”

錯誤

錯誤

正確

正確

無法編譯

long long

“%I64d”

正確

正確

錯誤

錯誤

無法編譯

__int64

“lld”

錯誤

錯誤

無法編譯

無法編譯

錯誤

__int64

“%I64d”

正確

正確

無法編譯

無法編譯

正確

long long

cout

非C++

正確

非C++

正確

無法編譯

__int64

cout

非C++

正確

非C++

無法編譯

無法編譯

long long

printint64()

正確

正確

正確

正確

無法編譯

 

原文地址:點擊打開鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章