举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > c#数值类型 C# 数值

c#数值类型 C# 数值

2023-02-27 20:18 C#教程

c#数值类型 C# 数值

c#数值类型

C# 数值类型是 C# 中最常用的数据类型,它们可以表示整数、浮点数、布尔值、字符串等。C# 数值类型可以分为内置数据类型(如 int、float 等)和用户自定义的数据类型(如 struct、enum 等)。

C# 中的内置数据类型包括 int、float、double 和 decimal 等。int 类型是一个 32 位有符号整形,它可以表达从 -2147483648 到 2147483647 之间的所有整数。float 类型是一个 32 位单精度浮点数,它可以表达 -3.402823E+38 到 3.402823E+38 之间的所有浮点数。double 类型是一个 64 位双精度浮点数,它可以表达 -1.79769313486232E+308 到 1.79769313486232E+308 之间的所有浮点数。decimal 类型是一个 128 位十进制浮动小树,它可以表达 -79228162514264337593543950335 到 79228162514264337593543950335 之间的所有十进制数。

C# 还支持用户自定义的复合数据类型,如 struct、enum 等。struct 是一个用户自定义的复合对象,其中包含了多个字段或者方法。struct 非常适合用来表达多个不同字段之间关联性很强的对象。enum 是一个用户自定义的常量集合,其中包含了多个常量项目。enum 非常适合用来表达特定领域内固定不变的几项选项集合。

public enum Color { Red, Green, Blue }

C# 数值

C#数值

8位和16位整数

8位和16位整数类型为byte,sbyte,short和ushort。

C#根据需要将它们隐式转换为更大的类型。

当尝试将结果分配回小的整数类型时,可能会导致编译时错误:


short x = 1, y = 1; 
short z = x + y; // Compile-time error 

x y 隐式转换为 int ,以便可以执行加法。

结果也是一个int,不能隐式转换为短。

为了使这个编译,我们必须添加一个显式转换:


short z = (short) (x + y);

特殊浮点值和双精度值

浮点类型具有特定操作对待的值。

这些特殊值是NaN(非数字),+无穷大,-Infinity和-0。

float和double类具有NaN,+ Infinity和-Infinity的常量,以及其他值,如MaxValue,MinValue和Epsilon。

例如:


Console.WriteLine (double.NegativeInfinity); // -Infinity 

表示double和float的特殊值的常量如下:

特殊值双常量浮点常量
NaNdouble.NaNfloat.NaN
+infinitydouble.PositiveInfinityfloat.PositiveInfinity
-infinitydouble.NegativeInfinityfloat.NegativeInfinity
-0-0.0-0.0f

将非零数除以零会导致无限值。例如:


Console.WriteLine ( 1.0 / 0.0); // Infinity 
Console.WriteLine (-1.0 / 0.0); // -Infinity 
Console.WriteLine ( 1.0 / -0.0); // -Infinity 
Console.WriteLine (-1.0 / -0.0); // Infinity 

将零除零,或从无穷大中减去无穷大,得到NaN。例如:


Console.WriteLine ( 0.0 / 0.0); // NaN 
Console.WriteLine ((1.0 / 0.0) - (1.0 / 0.0)); // NaN 

当使用==,NaN值永远不等于另一个值,甚至另一个NaN值:


Console.WriteLine (0.0 / 0.0 == double.NaN); // False 

要测试值是否为NaN,必须使用float.IsNaN或double.IsNaN方法:


Console.WriteLine (double.IsNaN (0.0 / 0.0)); // True 

但是,当使用object.Equals时,两个NaN值相等:


Console.WriteLine (object.Equals (0.0 / 0.0, double.NaN)); // True 


双十进制

double 可用于科学计算。decimal 对于财务计算很有用。

阅读全文
以上是编程学为你收集整理的c#数值类型 C# 数值全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  • c#多维数组批量赋值 C# 多维数组

    c#多维数组批量赋值 C# 多维数组

    2023-02-25 C#教程

    C#多维数组多维数组有两种类型:矩形和锯齿。矩形阵列表示存储器的n维块,锯齿形阵列是阵列阵列。矩形数组使用逗号分隔每个维度...

  • c#异常处理 C# 异常

    c#异常处理 C# 异常

    2023-02-25 C#教程

    C#异常using语句许多类封装了非托管资源。这些类实现 System.IDisposable ,它定义了一个名为Dispose的单一无参数方法来清理这...

  • c#委托的理解 C# 委托

    c#委托的理解 C# 委托

    2023-02-25 C#教程

    C#委托委托是调用方法的对象。我们可以认为委托是函数指针或函数类型。委托类型定义委托实例可以调用的方法类型。委托类型定义...

  • c#委托的用法 C# 通用委托

    c#委托的用法 C# 通用委托

    2023-02-28 C#教程

    C# 通用委托委托类型可以包含通用类型参数。例如:public delegate T ConverterT (T arg);有了这个定义,我们可以编写一个适用于...

  • c#中输出型参数类型 C# 类型参数

    c#中输出型参数类型 C# 类型参数

    2023-02-27 C#教程

    C#类型参数类型参数可以在类,结构,接口,委托和方法的声明中引入。其他构造(如属性)不能引入类型参数,但可以使用一个。例...

© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部