C#数值类型介绍及示例

简介: C#数值类型介绍及示例

在C#中,数值类型用于表示整数和浮点数。以下是C#支持的数值类型及其示例。

整型(Integral Types)

byte

8位无符号整数,取值范围为0到255。

sbyte

8位有符号整数,取值范围为-128到127。

short

16位有符号整数,取值范围为-32768到32767。

ushort

16位无符号整数,取值范围为0到65535。

int

32位有符号整数,默认的整数类型,取值范围为-2,147,483,648到2,147,483,647。

uint

32位无符号整数,取值范围为0到4,294,967,295。

long

64位有符号整数,取值范围为-9,223,372,036,854,775,808到9,223,372,036,854,775,807。

ulong

64位无符号整数,取值范围为0到18,446,744,073,709,551,615。

示例

int x = 127; // 声明一个int类型变量x,并赋值为127
long y = 0x7F; // 声明一个long类型变量y,并赋值为十六进制7F
int million = 1_000_000; // 使用下划线提高可读性
var b = 0b1010_1001_1011; // 二进制字面量


浮点型(Floating-Point Types)

float

单精度浮点数,通常用于科学计算。

double

双精度浮点数,C#中默认的浮点数类型。

decimal

128位十进制浮点数,用于需要高精度的金融计算。

示例

double d = 1.5; // 声明一个double类型变量d,并赋值为1.5
double million2 = 1E06; // 使用E表示科学记数法
float f = 43.5F; // 声明一个float类型变量,并使用F后缀
decimal d2 = -1.23M; // 声明一个decimal类型变量,并使用M后缀

数值字面量类型推断

C#允许根据赋值的值推断变量的类型。

var inferredDouble = 1.0; // 推断为double类型
var inferredInt = 1; // 推断为int类型

算数运算符

C#提供了基本的算数运算符,包括加(+)、减(-)、乘(*)、除(/)和模(%)。

示例

Console.WriteLine(2 + 1); // 输出3
Console.WriteLine(2 - 1); // 输出1
Console.WriteLine(2 * 1); // 输出2
Console.WriteLine(2 / 1); // 输出2
Console.WriteLine(10 % 3); // 输出1

自增和自减运算符

++(自增)和--(自减)运算符用于递增或递减变量的值。

示例

int x1 = 1;
Console.WriteLine(x1++); // 输出1,然后x1变为2
int y1 = 1;
Console.WriteLine(++y1); // 输出2,y1先递增再返回

整数溢出

C#中的整数运算可能会发生溢出,这取决于是否使用checkedunchecked上下文。

示例

int num = int.MinValue;
Console.WriteLine(int.MaxValue == --num); // 输出True,因为溢出

unchecked
{
    int num3 = int.MinValue;
    Console.WriteLine(int.MaxValue == --num3); // 输出True,不抛出异常
}

// 使用checked上下文将抛出OverflowException异常
// checked
// {
//     int num2 = int.MinValue;
//     Console.WriteLine(int.MaxValue == --num2); // 抛出异常
// }

位运算符

C#还支持位运算符,包括按位取反(~)、按位与(&)、按位或(|)、按位异或(^)、按位左移(<<)和按位右移(>>)。


隐式类型转换和显式类型转换

当进行算术运算时,较小的数据类型可能会隐式转换为较大的数据类型,以避免数据丢失。

示例

short x3 = 1, y3 = 1;
int z3 = x3 + y3; // x3和y3隐式转换为int
short z31 = (short)(x3 + y3); // 显式转换为short

常量

C#允许定义常量,使用const关键字。

示例

Console.WriteLine(Double.MaxValue); // 输出double类型的最大值
Console.WriteLine(Double.MinValue); // 输出double类型的最小值
Console.WriteLine(Double.NaN); // 输出Not a Number的特殊值
Console.WriteLine(Double.NaN == Double.NaN); // 输出False,因为NaN不等于任何值
Console.WriteLine(Double.IsNaN(0.0 / 0.0)); // 输出True,检测NaN
Console.WriteLine(object.Equals(Double.NaN, 0.0 / 0.0)); // 输出True,使用Equals方法比较


以上是对C#数值类型的介绍和示例。数值类型是编程中的基础,了解它们的特性和用法对于编写高效、可靠的代码至关重要。

目录
相关文章
|
2月前
|
监控 安全 C#
开发公司电脑监控软件的报警系统:一个C#示例
在当今数字化时代,企业对其计算机网络和系统的安全性和稳定性越来越重视。为了确保员工遵守公司政策、保护机密信息以及监控系统的正常运行,开发一种可靠的公司电脑监控软件变得至关重要。本文将介绍如何使用C#编写一个简单而有效的报警系统,以便监控关键数据并在必要时发出警报。
104 0
|
2月前
|
C#
C#断点续传的实现示例
C#断点续传的实现示例
28 0
|
2月前
|
定位技术 C# 图形学
Unity和C#游戏编程入门:创建迷宫小球游戏示例
Unity和C#游戏编程入门:创建迷宫小球游戏示例
103 2
|
2月前
|
C#
C# 布尔值和条件语句:入门指南和实用示例
在编程中,通常需要一个只能有两个值之一的数据类型,比如: 是 / 否 开 / 关 真 / 假 为此,C# 有一个 bool 数据类型,可以取 true 或 false 的值。
81 3
|
2月前
|
存储 C#
C# 数据类型与类型转换:包含教程与示例
使用正确的数据类型对应于相应的变量是重要的;这样可以避免错误、节省时间和内存,还会使您的代码更易于维护和阅读。最常见的数据类型有:
35 0
|
9月前
|
定位技术 API C#
C# 高德地图WebApi对接示例
1、登录或注册高德地图开放平台然后申请应用key(需要认证个人或企业开发者) 高德开放平台 | 高德地图API (amap.com) 2、创建新应用,为新应用添加key,完成第一项后即可看到key管理 3、具体的开发文档、接口入参出参以及结果示例等详见高德地图开放平台官网 地理/逆地理编码-API文档-开发指南-Web服务 API | 高德地图API (amap.com) 4、直接书写具体示例 开发语言:C# 开发工具:visual studio 2019 开发项目类型:控制台程序 //
99 1
C# 高德地图WebApi对接示例
|
9月前
|
数据采集 数据可视化 数据挖掘
C#和HttpClient结合示例:微博热点数据分析
微博是中国最大的社交媒体平台之一,它每天都会发布各种各样的热点话题,反映了网民的关注点和舆论趋势。本文将介绍如何使用C#语言和HttpClient类来实现一个简单的爬虫程序,从微博网站上抓取热点话题的数据,并进行一些基本的分析和可视化。
C#和HttpClient结合示例:微博热点数据分析
|
10月前
|
Oracle 架构师 关系型数据库
C#反射应用之实现动态可配置可扩展框架的简单示例
C#反射应用之实现动态可配置可扩展框架的简单示例
|
10月前
|
Oracle 关系型数据库 MySQL
超简单的C#可配置可扩展基础框架示例
超简单的C#可配置可扩展基础框架示例
C#简单接口和继承示例详解——快速入门
C#简单接口和继承示例详解——快速入门