跳過到頁腳內容
Iron Academy Logo
學習 C#
學習 C#

其他分類

C# 中的二進位值:存儲和顯示二進位值

Tim Corey
9m 43s

二進位數字是計算的基本要素,了解如何在C#中操作它們對於處理底層操作、位元操作及高效存儲至關重要。 在本文中,我們將解構在C#中存儲及顯示二進位數值的關鍵概念,參考Tim Corey的影片,Binary in C#: Storing and Displaying Binary Values in 10 minutes or less

Tim以簡潔但詳盡的方式解釋了這個主題,使其更容易理解。讓我們一步步跟隨他的解釋,探索在C#中二進位數值如何運作。

Storing Binary Values in C

Tim首先回答核心問題:我們如何在C#中存儲一個二進位數字? 他解釋說,像0b101這樣的二進位數表示基底2的數值,並儲存在整數變數中。

為了存儲一個二進位數值,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#在顯示數值時預設使用基底10。

若要以二進位格式查看數值,我們需要進行轉換。

將整數轉換為二進位格式

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. 預設情況下,打印整數會顯示為十進位,需明確轉換才能輸出二進位格式。
  3. Convert.ToString(value, 2)有助於將數字轉換為二進位格式。
  4. PadLeft確保一致的位長表示。
  5. 您可以根據使用情境將二進位數字存在不同的數值類型中。

使用這些技巧,在C#中操作二進位數值將變得更加容易且直觀。如需更深入了解此主題,請觀看他的完整影片

Hero Worlddot related to C# 中的二進位值:存儲和顯示二進位值
Hero Affiliate related to C# 中的二進位值:存儲和顯示二進位值

通過分享您所愛的東西賺得更多

您是否在為使用.NET、C#、Java、Python或Node.js的開發者創建內容?將您的專業知識轉化為額外收入!

鋼鐵支援團隊

我們每週 5 天,每天 24 小時在線上。
聊天
電子郵件
打電話給我