>백엔드 개발 >C++ >C#에서 대규모 문자열 형식 정수를 16진수로 변환하는 방법은 무엇입니까?

C#에서 대규모 문자열 형식 정수를 16진수로 변환하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2025-01-11 11:31:46197검색

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

C#에서 대규모 문자열 형식 정수를 16진수로 변환

문자열로 표현된 큰 정수를 16진수 형식으로 변환하는 것은 어려운 작업일 수 있으며, 특히 정수가 일반적인 변환 방법의 한계를 초과하는 경우 더욱 그렇습니다.

이 문제를 해결하려면 다음 사항을 고려하세요.

<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을 반복하고 각 바이트를 해당하는 16진수로 변환하여 16진수 문자열 hex을 생성합니다.

이 접근 방식을 사용하면 매우 큰 문자열 형식 정수도 C#의 16진수 형식으로 효율적으로 변환할 수 있습니다.

위 내용은 C#에서 대규모 문자열 형식 정수를 16진수로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.