複製鏈接
請複製以下鏈接發送給好友

int函數

鎖定
計算機科學中, int()函數整數數據類型數據 ,是表示某種數學整數 範圍數據類型 。 積分數據類型可以具有不同的大小,並且可以允許或不允許包含負值。 整數通常在計算機中表示為一組二進制數字(位)。 分組的大小各不相同,因此可用的整數大小集在不同類型的計算機之間有所不同。 計算機硬件(包括虛擬機 )幾乎總是提供一種將處理器寄存器或存儲器地址表示為整數的方法。
中文名
int函數
外文名
int()
表    示
整型變量
類    型
數據
含    義
將數值向下取整為最接近的整數
語    法
INT(number)
説    明
int函數可用floor函數代替

int函數價值和代表

具有整數類型的項的值是它對應的數學整數。積分類型可以是無符號的(只能表示非負整數)或有符號(也能表示負整數)。
整數值通常在程序的源代碼中指定為可選的前綴為+或 - 的數字序列。一些編程語言允許其他符號,例如十六進制或八進制。一些編程語言也允許數字組分隔符。
此數據的內部表示形式是值存儲在計算機內存中的方式。與數學整數不同,計算機中的典型數據具有一些最小和最大可能值 [1] 
正整數的最常見表示是使用二進制數字系統的一串。存儲位的存儲器字節的順序是變化的;看到字節序。整數類型的寬度或精度是其表示中的位數。具有n位的整數類型可以編碼2數字;例如,無符號類型通常表示非負值0到2-1。有時使用對位模式的整數值的其他編碼,例如二進制編碼的十進制格雷碼,或者諸如ASCII的打印字符碼。
在二進制計算系統中有四種眾所周知的方式來表示有符號數。最常見的是二進制補碼,它允許帶有n位的有符號整數類型表示從-2到2-1的數字。二進制補碼算法很方便,因為表示和值之間存在完美的一對一對應關係(特別是沒有單獨的+0和-0),並且因為加法減法乘法不需要區分有符號和無符號類型。其他可能性包括偏移二進制,符號幅度和1'補碼。
一些計算機語言以與機器無關的方式定義整數大小;其他人根據底層處理器字大小有不同的定義。並非所有語言實現都定義所有整數大小的變量,並且在特定實現中定義的大小甚至可能不是不同的。一種編程語言中的整數可以是不同語言或不同處理器上的不同大小。

int函數常用的積分數據類型

名稱
範圍(假設已簽名的兩個補碼)
十進制數字
用途
實現
C/C ++
Java的
4
蠶食食品
簽名:從-8到7,從 - (2)到2- 1
1
二進制編碼的十進制,單個十進制數字表示
N / A
N / A
N / A
N / A
N / A
N / A
無符號:從0到15,等於2- 1
2
8
簽名:從-128到127,從 - (2)到2- 1
3
ASCII字符,UTF-8字符編碼中的代碼單元
int8_t,char
為sbyte
Shortint
字節
TINYINT
整數(1)
無符號:從0到255,等於2- 1
3
uint8_t,char
字節
字節
N / A
unsigned tinyint
N / A
16
半字,,短
簽名:從-32,768到32,767,從 - (2)到2- 1
UCS-2字符,UTF-16字符編碼中的代碼單元
int16_t,short,int
SMALLINT
SMALLINT
整數(2)
無符號:從0到65,535,等於2- 1
uint16_t,unsigned,unsigned int
USHORT
char
unsigned smallint
N / A
32
單詞,,雙字,長字,整數
簽署:從-2,147,483,648到2,147,483,647,從 - (2)到2- 1
10
UTF-32字符,帶alpha的真彩色FourCC,32位計算指針
int32_t,int,long
INT
LongInt;整數
INT
INT
整數(4)
無符號:從0到4,294,967,295,等於2- 1
10
uint32_t,unsigned,unsigned int,unsigned long
UINT
LongWord;DWord;紅衣主教
N / A
unsigned int
N / A
64
word,doubleword,longword,long long,quad,quadword,qword,int64
簽署:從-9,223,372,036,854,775,808到9,223,372,036,854,775,807,從 - (2)到2- 1
19
時間(自Unix紀元以來的毫秒數),64位計算中的指針
int64_t,long,long long
Int64的
BIGINT
整數(8)
無符號:從0到18,446,744,073,709,551,615,等於2- 1
20
uint64_t,unsigned long long
ULONG
UInt64;四字
N / A
unsigned bigint
N / A
128
八字,雙四字
簽署:從-170,141,183,460,469,231,731,687,303,715,884,105,728到170,141,183,460,469,231,731,687,303,715,884,105,727,從 - (2)到2- 1
39
複雜的科學計算,
IPv6地址,GUID
C:僅作為非標準編譯器特定擴展提供
N / A
N / A
N / A
N / A
整數(16)
無符號:從0到340,282,366,920,938,463,463,374,607,431,768,211,455,等於2- 1
39
N / A
ñ
n位整數
(一般情況)
簽名:- (2)到(2- 1)
⌈(n- 1)log 102⌉
Ada:範圍-2 **(n-1).. 2 **(n-1)-1
無符號:0到(2- 1)
⌈nlog102⌉
Ada:範圍0..2 ** n-1,mod 2 ** n;標準庫或第三方任意算術庫'許多語言中的BigDecimal或Decimal類,如Python,C ++等。
  1. ^並非所有SQL方言都具有無符號數據類型。
  2. C / C ++中char,short,int,long和long long的大小取決於語言的實現。
  3. Delphi的整數和紅衣主教的大小無法保證,因平台而異;通常分別定義為LongInt和LongWord。
  4. ^Java不直接支持對char類型的算術。結果必須從int轉換回char。
不同的CPU支持不同的整數數據類型。通常,硬件將支持有符號和無符號類型,但只支持一小組固定寬度。
上表列出了常見處理器在硬件中支持的整體類型寬度。高級編程語言提供了更多可能性。通常有一個“雙寬度”整數類型,其位數是最大硬件支持類型的兩倍。許多語言也有位字段類型(指定的位數,通常限制為小於最大硬件支持的寬度)和範圍類型(只能表示指定範圍內的整數)。
一些語言,如LispSmalltalkREXXHaskellPython和Perl 6支持任意精度整數(也稱為無限精度整數bignums)。其他不支持此概念作為頂級構造的語言可能有可用於使用較小變量數組表示非常大的數字的庫,例如Java的BigInteger類或Perl 5的“bigint”包。它們使用盡可能多的計算機內存來存儲數字;但是,計算機只有有限的存儲量,因此它們也只能表示數學整數的有限子集。這些方案支持非常大的數字,例如,一千字節的內存可用於存儲長達2466個十進制數字的數字。
布爾標誌類型是一種只能表示兩個值的類型:0和1,通常分別用false和true標識。這種類型可以使用單個位存儲在存儲器中,但為了方便尋址和訪問速度,通常給出一個完整的字節。
四位數被稱為半字節(當吃東西時,小於咬一口)或者nybble(在字節字節的形式上是雙關語)。一個半字節對應於十六進制中的一個數字,並且以二進制編碼的十進制數保存一個數字或符號代碼。

int函數字節和八位字節

術語字節最初意味着'最小的可尋址存儲單元'。過去,全部使用了5,6,7,8和9位字節。還有一些計算機可以處理單個位(“位尋址機器”),或者只能處理16位或32位數量(“字尋址機器”)。通常不使用術語字節與位和字尋址機器相關聯。
術語八位字節總是指8位數量。它主要用於計算機網絡領域,其中具有不同字節寬度的計算機可能必須進行通信。
在現代使用中,字節幾乎總是意味着8位,因為所有其他尺寸都已被廢棄;因此字節已成為八位字節的同義詞。

int函數Word

術語“字”用於由特定體系結構的處理器同時處理的一小組位。因此,字的大小是CPU特定的。已經使用了許多不同的字大小,包括6,8,14,16,18,24,32,36,39,40,48,60和64位。由於它是體系結構的,因此的大小通常由系列中的第一個CPU設置,而不是後來兼容的CPU的特性。從單詞派生的術語的含義,例如長字雙字四字半字,也隨CPU和OS而變化。
實際上所有新的桌面處理器都能夠使用64位字,儘管8位和16位字大小的嵌入式處理器仍然很常見。36位字長在計算機早期很常見。
軟件不可移植性的一個重要原因是錯誤地假設所有計算機具有與程序員使用的計算機相同的字大小。例如,如果使用C語言的程序員錯誤地將int用於存儲大於2-1的值的變量聲明為int,則程序將在具有16位整數的計算機上失敗。該變量應該被聲明為long,在任何計算機上至少有32位。程序員也可能錯誤地認為指針可以轉換為整數而不會丟失信息,這可能適用於(某些)32位計算機,但在具有64位指針和32位整數的64位計算機上會失敗。

int函數short

與同一台機器上的標準整數相比,短整數可以表示可能佔用較少存儲空間的整數,而具有較小的範圍。
在C中,用short表示。它必須至少為16位,並且通常小於標準整數,但這不是必需的。 在Java中,short總是一個16位整數。在Windows API中,數據類型SHORT在所有計算機上定義為16位有符號整數。
常見的短整數大小編輯
數據類型名稱
符號類型
字節存儲
最低價值
最大價值
C和C ++
常見的實現
2
-32,767
+32,767
未簽約的短片
無符號
2
0
65,535
.NET CLR / CTS
2
-32,768
+32,767
USHORT
無符號
2
0
65,535
Java的
2
-32,768
+32,767

int函數Long

長整數可以表示整數,其整數範圍大於或等於同一台機器上標準整數的整數。
在C中,它表示為long。它必須至少為32位,並且可以或可以不大於標準整數。
常見的長整數大小編輯
批准類型
數據類型名稱
字節存儲
簽名範圍
無符號範圍
CISO / ANSI C99
國際標準
Unix,16/32位系統
Windows,16/32/64位系統
4
(最低要求4)
-2,147,483,647至+2,147,483,647
0到4,294,967,295
(最低要求)
CISO / ANSI C99
國際標準
Unix
64位系統
8
(最低要求4)
-9,223,372,036,854,775,807至+ 9,223,372,036,854,775,807
0至18,446,744,073,709,551,615
C ++ISO / ANSI
國際標準
16/32位系統
4
(最低要求4)
-2,147,483,648至+2,147,483,647
0到4,294,967,295
(最低要求)
C ++ / CLI
國際標準
ECMA-372
16/32位系統
4
(最低要求4)
-2,147,483,648至+2,147,483,647
0到4,294,967,295
(最低要求)
公司標準
視窗
4
-2,147,483,648至+2,147,483,647
N / A
公司標準
Windows,Mac OS X.
4
-2,147,483,648至+2,147,483,647
N / A
SQL Server
公司標準
視窗
BigInt有
8
-9,223,372,036,854,775,808至+ 9,223,372,036,854,775,807
0至18,446,744,073,709,551,615
ECMA國際標準
Microsoft .NET
long或Int64
8
-9,223,372,036,854,775,808至+ 9,223,372,036,854,775,807
0至18,446,744,073,709,551,615
Java的
國際/公司標準
8
-9,223,372,036,854,775,808至+ 9,223,372,036,854,775,807
N / A
Int64的
8
-9,223,372,036,854,775,808至+ 9,223,372,036,854,775,807
0到18,446,744,073,709,551,615(Qword類型)
在C編程語言的C99版本和C ++的C ++ 11版本中,支持long long類型,它具有標準long的最小容量的兩倍。要求C代碼符合以前的C ++標準C ++ 03的編譯器不支持這種類型,因為C ++ 03中不存在long long類型。對於符合ANSI / ISO標準的編譯器,指定範圍的最低要求,即 - (2-1)至2-1(有符號)和0至2-1(無符號),必須得到滿足;但是,允許擴展此範圍。在平台之間交換代碼和數據或進行直接硬件訪問時,這可能是一個問題。因此,有幾組標題提供與平台無關的精確寬度類型。C標準庫提供了stdint.h;這是在C99和C ++ 11中引入的。
參考資料
  • 1.    黃菊生, 張旭, 彭庚新. C語言環境下的鼠標驅動技術及用户接口[J]. 微型電腦應用, 2003, 19(3):60-62.