C# int 类型在32/64位环境下取值范围无变化
2012-01-30 18:49
363 查看
最近在学习中突然想到,我在64位环境下,int取值范围是否有变化?为了检测这个结果,我做了以下这个测试:
1、环境:win7旗舰版64位+vs2010 sp1(版本号:10.0.40219.1SP1Rel)+.Net 4.0.30319 SP1Rel
2、代码:
3、输出结果截图:
![](http://pic002.cnblogs.com/images/2012/143739/2012013018393232.jpg)
从截图中可以看出,程序ConsoleApplication1.exe已经运行在64位状态下(非64位的有 *32 标记),但是int依然还是21亿(小数不计了^Q^)
所以说,int在64位环境下,超过21亿还是会溢出的
另外.Net中的Int64和C#的long,取值是一样的。
最后,转一篇文章(/article/4702823.html)
c# int Int32 Int64 的区别
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 关键字表示一种整数数据类型,该类型根据下表显示的大小和范围存储值。
----------------------------------------------------------------------------------------------------------------------------
int 关键字表示一种整型,该类型根据下表显示的大小和范围存储值。
----------------------------------------------------------------------------------------------------------------------------
long 关键字表示一种整型,该类型根据下表显示的大小和范围存储值。
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、输出结果截图:
![](http://pic002.cnblogs.com/images/2012/143739/2012013018393232.jpg)
从截图中可以看出,程序ConsoleApplication1.exe已经运行在64位状态下(非64位的有 *32 标记),但是int依然还是21亿(小数不计了^Q^)
所以说,int在64位环境下,超过21亿还是会溢出的
另外.Net中的Int64和C#的long,取值是一样的。
最后,转一篇文章(/article/4702823.html)
c# int Int32 Int64 的区别
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 |
相关文章推荐
- asp.net C# int 类型在32/64位环境下取值范围无变化
- C# int 类型在32/64位环境下取值范围无变化
- C# 与数据库中字段类型 Int16(short), Int32(int), Int64(long)的取值范围、区别 。string长度
- 关于int取值范围及其他基本类型范围等(2015年10月21日)
- 练习 2-1 编写一个程序以确定分别由 signed 及 unsigned 限定的 char、short、 int 与 long 类型变量的取值范围。
- mysql的数据类型int、bigint、smallint 和 tinyint取值范围
- mysql的数据类型int、bigint、smallint 和 tinyint取值范围
- int类型取值范围由来
- 练习2-1 编写一个程序以确定分别由signed及unsigend限定的char short int 与long类型变量的取值范围
- 练习2-1 编写一个程序一确定分别由signed及unsigned限定的char,short,int及long类型变量的取值范围。采用打印标准头文件中的相应值以及直接计算两种方式实现。通过直接计算来确定浮点类型的取值范围是一项难度很大的任务。
- 计算char,short,int,long类型变量的取值范围
- mysql的数据类型int、bigint、smallint 和 tinyint取值范围 及varchar
- 负数在内存中的表示,int类型取值范围
- java中byte、short、int、long、float、double类型的取值范围
- int/long/long long/double类型的取值范围
- int类型取值范围
- 打印signed 及unsigned限定的char short int 及long类型变量的取值范围
- int,long,long long,__int64数据类型的取值范围
- 编写一个程序,分别以signed和unsigned限定的char、short、int与long类型的变量取值范围
- mysql的数据类型int、bigint、smallint 和 tinyint取值范围