1. 程式人生 > >__int64 型別(VC中)與long long 型(gcc中,C99標準)

__int64 型別(VC中)與long long 型(gcc中,C99標準)

int64 是有符號 64 位整數資料型別,也就是 C# 中的 long 和 SQL Server 中的 bigint,範圍為 -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807),儲存空間佔 8 位元組。用於整數值可能超過 int 資料型別支援範圍的情況。

c#中:

Int64 值型別表示值介於 -9,223,372,036,854,775,808 到 +9,223,372,036,854,775,807 之間的整數。

Int64 為比較此型別的例項、將例項的值轉換為它的字串表示形式以及將數字的字串表示形式轉換為此型別的例項提供了相應的方法。

警告 在 32 位 Intel 計算機上分配 64 位值不是原子操作;即該操作不是執行緒安全的。這意味著,如果兩個人同時將一個值分配給一個靜態 Int64 欄位,則該欄位的最終值是無法預測的。
有關格式規範程式碼如何控制值型別的字串表示形式的資訊,請參見格式化概述。此型別實現介面 IComparable、IFormattable 和 IConvertible。使用 Convert 類進行轉換,而不是使用此型別的 IConvertible 顯式介面成員實現。

 C語言INT64  (VC中)
__int64 是一個關鍵字,用_int64 來可以指定一個64位的整型變數 
__int8 nSmall;      
// 宣告 8位 整數 
__int16 nMedium;    // 宣告 16位 整數 
__int32 nLarge;     // 宣告 32位 整數 
__int64 nHuge;      // 宣告 64位 整數 
 
 

long   long是C99標準的C語言內建型別。需要符合C99的編譯器

 g++/gcc中
longlong a; 
printf(
"%lld",a);  

mingw32 中

__int64 a; 
printf(
"%I64d",a);