举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > c#算术运算符代理 C# 算术运算符

c#算术运算符代理 C# 算术运算符

2023-02-26 04:18 C#教程

c#算术运算符代理 C# 算术运算符

c#算术运算符代理

C#算术运算符代理是一种特殊的运算符,它可以用来实现复杂的数学表达式。它可以用于替代常规的加减乘除运算,使得表达式更加清晰易读。C#中的运算符代理包括:+、-、*、/、%、&、|和^。

+运算符代理是C#中最常用的一个,它可以用来表达加法运算。例如:int a = 10 + 20; // a 的值为30

-运算符代理是C#中最常用的一个,它可以用来表达减法运算。例如:int b = 10 - 20; // b 的值为-10

* 运算符代理是C#中最常用的一个,它可以用来表达乘法运算。例如:int c = 10 * 20; // c 的值为200

/ 运算符代理是C#中最常用的一个,它可以用来表达除法运算。例如:int d = 10 / 20; // d 的值为0.5

% 运算

C# 算术运算符

C#算术运算符

为所有数字类型定义算术运算符(+, - ,*,/,%)。

运算符含义
+
-
*
/
%求余

自增和自减运算符

自增和自减运算符(++, --)将数值类型递增和递减1。

操作符可以跟随也可以在变量之前,取决于我们希望其值在增加/减少之前还是之后。

例如:


int x = 0, y = 0; 
Console.WriteLine (x++); // Outputs 0; x is now 1 
Console.WriteLine (++y); // Outputs 1; y is now 1 


整数除法

整数类型的除法运算总是截断余数。

除以值为零的变量会生成运行时错误。

除以文字或常量0会产生编译时错误。

整数溢出

在运行时,对整数类型的算术运算可能溢出。

例如,递减最小可能的int值导致最大可能的int值:


int a = int.MinValue; 
a--; 
Console.WriteLine (a == int.MaxValue); // True 

checked 运算符告诉运行时生成一个OverflowException ,而不是在溢出的情况下无声地溢出。

checked 运算符在整数类型之间使用++, - ,+, - ,*,/和显式转换运算符影响表达式。

checked 运算符对double和float类型没有影响。

checked 运算符对始终检查的十进制类型没有影响。

checked 可以在表达式或语句块周围使用。

例如:


int a = 1000000; 
int b = 1000000; 

int c = checked (a * b); // Checks just the expression. 

// Checks all expressions  in statement block. 
checked{       
    ... 
    c = a * b; 
    ... 
} 

我们可以通过使用/checked+命令行开关编译来检查程序的所有算术溢出。

要禁用特定表达式或语句的溢出检查,请使用unchecked的运算符。

例如,以下代码不会抛出异常 - 即使使用/ checked + :


int x = int.MaxValue; 
int y = unchecked (x + 1); 
unchecked { int z = x + 1; } 

不管 /checked 编译器切换,在编译时评估的表达式总是被overflow-checked - 除非我们应用unchecked 运算符:


int x = int.MaxValue + 1;             // Compile-time error 
int y = unchecked (int.MaxValue + 1); // No errors 


位运算符

C#支持以下位运算符:

运算符含义示例表达式结果
~Complement~0xfU0xfffffff0U
&And0xf0& 0x330x30
|Or0xf0 | 0x330xf3
^Exclusive Or0xff00 ^ 0x0ff00xf0f0
<<Shift left0x20<< 20x80
>>Shift right0x20>> 10x10
阅读全文
以上是编程学为你收集整理的c#算术运算符代理 C# 算术运算符全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  • c#数组初始化 C# 数组

    c#数组初始化 C# 数组

    2023-02-24 C#教程

    C#数组数组表示特定类型的固定数量的变量。 在元素类型后面创建一个带方括号的数组。 例如:char[] letterArray = new char[5]; ...

  • c#变量名命名规则 C# 变量

    c#变量名命名规则 C# 变量

    2023-02-27 C#教程

    C#变量变量表示可修改值的存储位置。 变量可以是局部变量,参数,字段或数组元素。 定义赋值C#强制执行明确的赋值策略。 局部...

  • c#参数计数不匹配 C# 参数

    c#参数计数不匹配 C# 参数

    2023-02-26 C#教程

    C#参数方法可以具有参数序列。参数定义必须为该方法提供的参数集。在以下示例中,myMethod方法具有名为p的单个参数,类型为int...

  • c#事件与委托 C# 事件

    c#事件与委托 C# 事件

    2023-02-25 C#教程

    C#事件事件系统是软件系统的核心部分。例如,按钮可以触发点击事件。批处理作业可以生成作业完成事件。学生系统将使用注册事件...

  • c#索引器用的多吗 C# 索引器

    c#索引器用的多吗 C# 索引器

    2023-02-26 C#教程

    C# 索引器索引器提供了一个类似数组的语法来访问类或结构中的元素。索引器与属性类似,但可通过索引参数访问,而不是属性名称。...

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