C# int 類型在32/64位環境下取值范圍無變化


最近在學習中突然想到,我在64位環境下,int取值范圍是否有變化?為了檢測這個結果,我做了以下這個測試:
1、環境:win7旗艦版64位+vs2010 sp1(版本號:10.0.40219.1SP1Rel)+.Net 4.0.30319 SP1Rel
2、代碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("int類型的最大值:"+int.MaxValue);
            Console.WriteLine("Int64類型的最大值:" + Int64.MaxValue);
            Console.WriteLine("long類型的最大值:" + long.MaxValue.ToString());
            Console.WriteLine("ulong類型的最大值:" + ulong.MaxValue.ToString());
            Console.ReadKey();
    

        }
    }
}


3、輸出結果截圖:

從截圖中可以看出,程序ConsoleApplication1.exe已經運行在64位狀態下(非64位的有 *32 標記),但是int依然還是21億(小數不計了^Q^)
所以說, int在64位環境下,超過21億還是會溢出的
另外.Net中的Int64和C#的long,取值是一樣的。
 
 
 

Int16 值類型表示值介於 -32768 到 +32767 之間的有符號整數。

Int32 值類型表示值介於 -2,147,483,648 到 +2,147,483,647 之間的有符號整數。

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

----------------------------------------------------------------------------------------------------------------------------

short 關鍵字表示一種整數數據類型,該類型根據下表顯示的大小和范圍存儲值。

類型 范圍 大小 .NET Framework 類型

short

-32,768 到 32,767

有符號 16 位整數

System.Int16

----------------------------------------------------------------------------------------------------------------------------

int 關鍵字表示一種整型,該類型根據下表顯示的大小和范圍存儲值。

類型 范圍 大小 .NET Framework 類型

int

-2,147,483,648 到 2,147,483,647

有符號 32 位整數

System.Int32

----------------------------------------------------------------------------------------------------------------------------

long 關鍵字表示一種整型,該類型根據下表顯示的大小和范圍存儲值。

類型 范圍 大小 .NET Framework 類型

long

-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807

有符號 64 位整數

System.Int64

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM