首頁 > 後端開發 > C++ > 如何在 C# 中將大量字串格式的整數轉換為十六進位?

如何在 C# 中將大量字串格式的整數轉換為十六進位?

Barbara Streisand
發布: 2025-01-11 11:31:46
原創
193 人瀏覽過

How to Convert Massive String-Formatted Integers to Hexadecimal in C#?

C#中將大規模字串格式整數轉換為十六進位

將表示為字串的大整數轉換為十六進位格式可能是一項具有挑戰性的任務,尤其是在整數超過典型轉換方法的限制時。

為了解決這個問題,請考慮以下方法:

<code class="language-csharp">var s = "843370923007003347112437570992242323";
var result = new List<byte>();
result.Add(0);
foreach (char c in s)
{
    int val = (int)(c - '0');
    for (int i = 0; i < result.Count; i++)
    {
        result[i] = (byte)((result[i] * 10 + val) % 256);
        val = (result[i] * 10 + val) / 256;
    }
    if (val != 0)
        result.Add((byte)val);
}

string hex = "";
foreach (byte b in result)
    hex = "0123456789ABCDEF"[b] + hex;</code>
登入後複製

代碼說明:

  1. 初始化輸入字串 s
  2. 建立一個空列表 result 用於儲存中間計算結果。
  3. 迭代字串 s 中的每個字符,並將其轉換為整數值。
  4. 對於每個字元的整數值:
    • 將其乘以 10 並加到 result 中的目前值。
    • 將結果和分解為個位數字,並將最低有效位元儲存在 result 中。
    • 將剩餘數字右移以進行進一步處理。
  5. 如果循環後還有剩餘數字,則將其加到 result 中。
  6. 透過迭代 result 並將每個位元組轉換為其十六進位等效項來建構十六進位字串 hex

使用這種方法,您可以有效地將甚至非常大的字串格式整數轉換為 C# 中的十六進位格式。

以上是如何在 C# 中將大量字串格式的整數轉換為十六進位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板