IRONSOFTWAREHOME

C# 位操作符:理解位移

C# 二进制:10 分钟内学会使用左移和右移进行位移操作。

Tim Corey

9 分 33 秒

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

位移简介

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

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

了解位向左移位

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

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

00001001

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

01001000

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

实际用例:设置单个位

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

1 << 3

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

00001000

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

了解位向右移

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

使用前面的例子,二进制数9(9 >> 2)的结果是:

00000010

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

位移为什么有用

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

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

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

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

结论

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

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

Earn More by Sharing What You Love

Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Let's Stay in Touch!

Join our newsletter, you’ll get exclusive access on article updates. We value your privacy

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

OR
bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户