回到目录

本文中的“二”,指的是二进制,即看见2就进一,也叫逢二进一,它是最为简单和清晰的数据,在现实生活中,人们用的最多的就是十进制数据,即逢十进一,看一下例子:

二进制: 十进制

0                         0

01 01

10 02

11 03

100 04

看到了吧,在二进制中,不会出现比1大的数,除了0就是1,而在十进制中,不会出现10,它由0~9这10个数字组成。

在我们的C#中,位运算分为左位移和右位移,分别用<<和>>表示,左移相当于向左移位,右面补0,例如:

10 << 1  它的含义是10 0,它最后的结果就是100,相当于10进制的4,这时我们难看出左移1位,相当于乘2操作,返之还有右移,例如:

100 >> 1 它的结果就是010,它在左面进行补0,右移后相当于除2操作

通过这个特性,我们在设计具有位去处的Flags特性枚举时,可以这样来做了

将不确定变为确定~一切归总为“二”(C#中的位运算有啥用) 

我们将它的值输出看一下吧

将不确定变为确定~一切归总为“二”(C#中的位运算有啥用)

结果如下:

将不确定变为确定~一切归总为“二”(C#中的位运算有啥用)

总结:事实上,在无论是十进制还是十六进制或八制的位运算,计算器都会它将转换成二进制,然后再进行位移的计算。

回到目录

相关文章:

  • 2021-11-20
  • 2022-02-16
  • 2021-06-19
  • 2021-07-23
  • 2021-08-25
  • 2021-10-17
  • 2021-11-27
猜你喜欢
  • 2021-08-05
  • 2021-10-24
  • 2022-02-16
  • 2021-10-13
  • 2021-09-08
  • 2021-08-27
  • 2021-07-25
相关资源
相似解决方案