首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

C# 整數型別完整對照表:9 種型別範圍、位元數、溢位行為與最佳選擇

     編輯:關於C#

九大整數型別

關鍵字.NET 型別簽署位元範圍
sbyteSystem.SByte有號8-128 ~ 127
byteSystem.Byte無號80 ~ 255
shortSystem.Int16有號16-32,768 ~ 32,767
ushortSystem.UInt16無號160 ~ 65,535
intSystem.Int32有號32-2,147,483,648 ~ 2,147,483,647
uintSystem.UInt32無號320 ~ 4,294,967,295
longSystem.Int64有號64-9.22×10¹⁸ ~ 9.22×10¹⁸
ulongSystem.UInt64無號640 ~ 1.84×10¹⁹

位元數與值域關係

n 位元可表示 2ⁿ 個值。有號型別以最高位為符號位,範圍對稱;無號型別全為數值位,範圍 0 ~ 2ⁿ-1。

溢位行為示範

using System;
class Test {
    static void Main() {
        short x = 32766;
        x++; Console.WriteLine(x); // 32767
        x++; Console.WriteLine(x); // -32768(溢位環繞)
    }
}

預設未檢查模式下溢位會環繞(wrap-around),不拋出例外。

溢位檢查控制

  • checked 區塊/運算式:啟用溢位檢查,溢位拋 OverflowException。
  • unchecked 區塊/運算式:明確關閉檢查(預設)。
  • 編譯器選項 /checked+:全域啟用。

選擇建議

情境建議型別
一般整數運算、迴圈計數int
位元操作、旗標、原始資料byte / uint / ulong
大數值、時間戳、資料庫主鍵long
互通性、二進位協定對應位元寬度的有號/無號型別
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved