預設 Int 上下文中的 64 位元整數文字
在程式設計中,整數文字表示整數。通常,這些文字會被指派給預設的整數資料類型,該類型通常為 32 位元寬。但是,某些情況可能會導致預設創建更大的整數文字。
其中一種情況是整數文字超出預設整數類型的範圍。例如,在 C 和 C 中,沒有附加「L」的文字具有可以表示其值的類型。如果該值對於 int 類型來說太大,則會將其提升為 long int 或 long long int 類型。
此提升解決瞭如果將文字強制轉換為 32- 則可能會發生的溢出問題。位整數。 C 11 標準在[lex.icon] ¶2 中指定了此行為,指出文字的類型將是給定列表中可以表示值的第一個:
int long int long long int
類似地,C99 定義了此§6.4.4.1 中的晉升機制。這確保了即使整數文字超出了預設整數範圍,它也會被隱式轉換為更大的類型,從而使其能夠正確表示。
在極少數情況下,整數文字可能仍然太大可用的整數類型。在這種情況下,C99 和 C 11 都要求出現編譯錯誤,表示該文字不能用任何受支援的類型表示。這可以防止整數溢位引起的運行時問題。
以上是整數文字什麼時候變成 64 位元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!