多语言展示
当前在线:428今日阅读:99今日分享:20

C#基础:%、&&、||、!、&、|、~这些符号的含义

今天讲一节编程基础课,大家都知道,任何一门高级的编程语言中都有很多运算符,有些运算符,我们很熟悉。也知道他们的运算规则,比如 +,-、*(乘)、/(除)四则运算。但是像文章标题里的运算符,我们日常中不常用。有些同学就不熟悉,我们集中讲一下。
工具/原料

visual studio 2013

方法/步骤
1

先来讲%符号,这个符号叫取余。从字面意思来看,就是取余数。实际上也是这个意思,我们来看代码。  从图中可以看到,15可以被3整除,所以15%3等于0。16除以3余1,所以15%3等于1。

2

下面三个是逻辑运算符。&&:逻辑与。||:逻辑或。!:逻辑非。逻辑运算符是对真与假的组合判断,我们写代码测试一下。先来看逻辑与。

3

从输出结果上,我们可以看出。&&运算两边,只要有一个假,最后的结果就是假。这就相当于日常生活中的“并且”。事件1 并且 事件2。 两件事都为真,结果才是真的。

4

下面来看逻辑或,测试代码如下。

5

从输出结果来看,||两边,只要有一个为真,最后结果就为真。这就相当于日常生活中的“或者”。事件1 或者 事件2.只要有一个成立,最后结果就是成立。

6

下面来看逻辑非。跟上面两个不同,逻辑非是单目运算符。单目运算符就是只需要一个参数。只对一个True或者False做逻辑非的运算。下面看测试代码:

7

从测试结果来看,True逻辑非完之后是False。False逻辑分完之后是True。可以看到就是对参数进行了取反的操作。

8

下面三个运算符是位操作。&:按位与。|:按位或。~:按位取反。什么是位操作呢,我来说一下。计算机中的数字都是按二进制存储的,比如5这个数,计算机里存的是0101。位操作就是直接对0、1进行的操作。下面先看按位取反操作符。测试代码如下:

9

下面分析输出结果:~0x55 = 0xAA 0x55的二进制是  xAA的二进制是 10101010可以发现,按位取反就是把原来是0的地方变成1,原来是1的地方变成0。

10

下面在再看按位与,测试代码如下:

11

下面分析输出结果。    0x55    & 0x43    -----------------------= 0x41     可以发现,如果相同位数两个都是1,输出结果就为1.只要有一个是0,输出结果就为0。另一种说法是0/1 按位与上1 都不变。0/1 按位与上0 都变为0。这就是按位与的效果。通过这个特点,可以用按位与做一些特殊操作。比如把某些位变成0。举个例子:某一个数 0xXX,我想让他的高四位变成0.就可以这样操作,0xXX & 0x0F。结果就是0x0X。

12

下面看按位或。测试代码如下:

13

下面分析输出结果。    0x55    & 0x43    ----------------------= 0x57     可以发现,相同位只要有一个是1,结果就是1。只有两个都是0的时候,结果才是0。 另一种说法是0/1 按位或上0 都是不变。0/1 按位或上1 都变为1。 比如我想把一个数的高四位都变成1,就可以这样操作,0xXX | 0xF0。输出结果就是0xFX。

注意事项
1

二进制、十六进制是学习编程的基础,不了解的同学,要提前学习。

2

如果觉得本文对你有所帮助,请帮忙点下投票,不胜感激。

推荐信息