跳至页脚内容
Iron Academy Logo
学习 C#
学习 C#

其他类别

C# 位操作符:理解位移

Tim Corey
9 分 33 秒

位运算符是 C# 的重要组成部分,它允许您操作整数的各个位。 这些运算符在底层编程、性能优化和使用标志方面非常有用。 在本文中,我们将以 Tim Corey 的视频 Binary in C# 为指导,深入了解位移:在 10 分钟或更短时间内使用位向左移位和位向右移位进行位移

位移简介

蒂姆首先继续讲述他对 C# 中二进制的理解系列。 本课是该系列的第四课,主要介绍位移。 目标是了解向左或向右移动位数对数字的影响,以及我们如何在编程中使用这种技术。

Tim通过创建一个名为ConvertToBinary的方法来设置示例,该方法将整数转换为其二进制表示,并确保它以8位格式显示。 这样可以更直观地说明位移是如何工作的。

了解位向左移位

Tim引入了左移位的概念,使用左移运算符(<<)。 他解释说,左移2^n

例如,他以数字 9 开头,二进制为

00001001
00001001

当他左移三位(9 << 3)时,结果是:

01001000
01001000

这个新的二进制值表示72。Tim强调,左移实际上是在右边添加三个零,将数字乘以2的三次方(即9 * 2^3 = 72)。

实际用例:设置单个位

Tim 解释说,虽然移动现有数字很有用,但更常见的做法是将数字 1 移动到特定位置。 例如:

1 << 3
1 << 3

这样就把位移到了第四位,结果是:......:

00001000
00001000

这个二进制数等于 8。Tim 指出,在使用位掩码或标志时,这种技巧特别有用。

了解位向右移

接下来,Tim用右移运算符(>>)解释了右移位。 右移2^n并舍弃任何余数。

使用前面的示例,二进制中的数字9(9 >> 2)结果为:

00000010
00000010

这等于 2。蒂姆解释说,右移实质上是从右边移除比特,从而减小数字的值。

位移为什么有用

Tim 讨论了位移在编程中的价值。 一些关键用例包括

  • 优化计算:位移可以取代乘法和除法,使运算速度更快。

  • 设置和清除特定位:在基于标志的枚举中,位移可以有效地存储和操作布尔值。

  • 使用硬件:许多低级硬件操作都依赖于位操作。

结论

Tim 最后强调,位移经常与其他操作结合使用。 了解如何有效地位移可以提高代码的效率和优化代码,尤其是在涉及标志、二进制计算和性能关键型应用程序的情况下。

根据 Tim Corey 的解释,我们探讨了位向左和位向右移动的工作原理、它们对数字的影响以及它们的常用位置。 如果您想获得直观深入的演练,Tim 的 视频是掌握 C# 中位运算的绝佳资源。

Hero Worlddot related to C# 位操作符:理解位移
Hero Affiliate related to C# 位操作符:理解位移

分享您的所爱,赚取更多收入

您为使用 .NET、C#、Java、Python 或 Node.js 的开发人员创建内容吗?将您的专业知识转化为额外收入!

钢铁支援团队

我们每周 5 天,每天 24 小时在线。
聊天
电子邮件
打电话给我