Преобразование очень больших десятичных чисел в шестнадцатеричное (1.67119535743 * 10 ^ 33) - PullRequest
0 голосов
/ 04 июня 2009

Мне любопытно, можно ли преобразовать очень, очень большое десятичное число, такое как 1.67119535743 * 10 ^ 33 / 1.67119535743E + 33, в шестнадцатеричное через PHP или C #. Все мои предыдущие попытки потерпели неудачу, к сожалению. Спасибо всем заранее!

Ответы [ 2 ]

1 голос
/ 04 июня 2009

Вы хотите преобразовать его в шестнадцатеричную строку? Вы можете посмотреть на библиотеки bigint, например на CodeProject .

BigInteger bi = new BigInteger("12345678901234567890");
string s = bi.ToHexString();
0 голосов
/ 04 июня 2009

Я предполагаю, что вы храните число в виде байтового массива и хотите вывести шестнадцатеричное число в виде строки?

Это должно сделать работу в C #:

public static string ConvertToHex(byte[] value)
{
    var sb = new System.Text.StringBuilder();
    for (int i = 0; i < sb.Length; i++)
        sb.Append(value[i].ToString("X"));

    return sb.ToString();
}
...