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

其他类别

C# 中的二进制值:存储和显示二进制值

Tim Corey
9m 43s

二进制数是计算的重要组成部分,了解如何在 C# 中使用二进制数对于处理底层操作、位操作和高效存储至关重要。 在本文中,我们将按照 Tim Corey 的视频Binary in C#分解在 C# 中存储和显示二进制值的关键概念:10 分钟内存储和显示二进制值

Tim 以简洁而详细的方式解释了这一主题,使其更容易掌握。让我们一步步通过他的讲解,探索 C# 中二进制值的工作原理。

Storing Binary Values in C

Tim 首先要解决的核心问题是:如何在 C# 中存储二进制数? 他解释说,二进制数字,例如0b101,表示的是二进制值,并存储在整数变量中。

要存储二进制值,Tim 演示了以下语法:

int binaryValue = 0b101; // Represents the decimal number 5
int binaryValue = 0b101; // Represents the decimal number 5

这里,0b是一个前缀,用于告诉C#将后续数字解释为二进制数。 Tim指出,0b101相当于十进制的5。

他还提到,增加前导零(例如,0b00000101)不会改变其值。 系统仍将其解释为 5,因为这些额外的零没有数字意义。

Printing Binary Values in C

一旦我们存储了二进制值,下一步就是显示它。 Tim 指出了一个有趣的行为:当您打印二进制存储值时,C# 默认将其转换为十进制。

例如:

Console.WriteLine($"Binary value is: {binaryValue}");
// Outputs: Binary value is: 5
Console.WriteLine($"Binary value is: {binaryValue}");
// Outputs: Binary value is: 5

即使0b101,控制台仍将输出5。Tim解释说,C#在显示数值时默认使用的是十进制。

要查看二进制格式的值,我们需要进行转换。

将整数转换为二进制格式

Tim 介绍了一种将整数格式化为二进制字符串的简单方法:

string binaryString = Convert.ToString(binaryValue, 2);
Console.WriteLine($"Binary representation: {binaryString}");
// Outputs: Binary representation: 101
string binaryString = Convert.ToString(binaryValue, 2);
Console.WriteLine($"Binary representation: {binaryString}");
// Outputs: Binary representation: 101

他解释说,Convert.ToString(value, 2)将整数转换为其二进制字符串表示。 这样,如果您存储了101而不是5。

用前导零填充二进制值

然后,Tim 解决了一个在显示二进制数时经常出现的问题:用前导零进行格式化。 在许多情况下,我们希望二进制数以8位格式显示(例如,101)。

他解释了如何使用PadLeft实现这一点:

string formattedBinary = binaryString.PadLeft(8, '0');
Console.WriteLine($"Formatted binary: {formattedBinary}");
// Outputs: Formatted binary: 00000101
string formattedBinary = binaryString.PadLeft(8, '0');
Console.WriteLine($"Formatted binary: {formattedBinary}");
// Outputs: Formatted binary: 00000101

在这里,PadLeft(8, '0')确保二进制字符串始终至少有8个字符,用零填充任何缺失的空位。 这在处理字节大小的二进制值时尤其有用。

Tim澄清说,PadLeft处理的是字符,而不是字符串。

小数的二进制表示法

Tim指出的另一个重要点是,您不必用二进制格式输入数字(0b记号)就能获得它们的二进制表示。

例如,您可以将一个标准的十进制数转换为二进制数:

int decimalNumber = 12;
string binaryRepresentation = Convert.ToString(decimalNumber, 2);
Console.WriteLine($"Binary equivalent of {decimalNumber} is {binaryRepresentation}");
// Outputs: Binary equivalent of 12 is 1100
int decimalNumber = 12;
string binaryRepresentation = Convert.ToString(decimalNumber, 2);
Console.WriteLine($"Binary equivalent of {decimalNumber} is {binaryRepresentation}");
// Outputs: Binary equivalent of 12 is 1100

在这里,数字12被存储为十进制整数,但在转换时,它正确地输出了二进制数1100

Tim 强调说,这种技术对于调试和理解数字在位级的存储方式非常有用。

在不同数据类型中存储二进制数

Tim还谈到了如何在不同的数值数据类型中存储二进制值。虽然整数(long

例如:

uint unsignedBinary = 0b1010; // 10 in decimal
long largeBinary = 0b1100110011; // A longer binary number
uint unsignedBinary = 0b1010; // 10 in decimal
long largeBinary = 0b1100110011; // A longer binary number

使用long可以容纳更大的数字。

Tim 指出,理解这些区别有助于处理位移和屏蔽等低级操作。

最后的想法

最后,Tim 总结了主要收获:

  1. 二进制数字通过0b前缀存储在整数类型中。 2.打印整数时默认使用十进制表示,需要明确转换为二进制输出。
  2. Convert.ToString(value, 2)有助于将数字转换为二进制格式。
  3. PadLeft确保了一致的位长表示。 5.根据使用情况,您可以将二进制数存储在不同的数字类型中。

有了这些技术,在 C# 中处理二进制值就会变得更加简单和直观。要更好地理解该主题,请观看他的完整视频

Hero Worlddot related to C# 中的二进制值:存储和显示二进制值
Hero Affiliate related to C# 中的二进制值:存储和显示二进制值

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

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

钢铁支援团队

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