Преобразовать целое число в шестнадцатеричное и обратно - PullRequest
420 голосов
/ 17 июля 2009

Как я могу преобразовать следующее?

2934 (целое число) до B76 (шестнадцатеричное)

Позвольте мне объяснить, что я пытаюсь сделать. У меня есть идентификаторы пользователей в моей базе данных, которые хранятся в виде целых чисел. Вместо того, чтобы пользователи ссылались на свои идентификаторы, я хочу позволить им использовать шестнадцатеричное значение. Основная причина в том, что он короче.

Так что мне нужно не только перейти от целого к шестнадцатеричному, но и перейти от шестнадцатеричного к целому.

Есть ли простой способ сделать это в C #?

Ответы [ 12 ]

0 голосов
/ 12 октября 2018

РАМКА СЕТИ

Очень хорошо объяснено и мало строк программирования Хорошая работа

// Store integer 182
int intValue = 182;
// Convert integer 182 as a hex in a string variable
string hexValue = intValue.ToString("X");
// Convert the hex string back to the number
int intAgain = int.Parse(hexValue, System.Globalization.NumberStyles.HexNumber);

PASCAL >> C #

http://files.hddguru.com/download/Software/Seagate/St_mem.pas

Что-то из старой школы, очень старая процедура паскаля, преобразованная в C #

    /// <summary>
    /// Conver number from Decadic to Hexadecimal
    /// </summary>
    /// <param name="w"></param>
    /// <returns></returns>
    public string MakeHex(int w)
    {
        try
        {
           char[] b =  {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
           char[] S = new char[7];

              S[0] = b[(w >> 24) & 15];
              S[1] = b[(w >> 20) & 15];
              S[2] = b[(w >> 16) & 15];
              S[3] = b[(w >> 12) & 15];
              S[4] = b[(w >> 8) & 15];
              S[5] = b[(w >> 4) & 15];
              S[6] = b[w & 15];

              string _MakeHex = new string(S, 0, S.Count());

              return _MakeHex;
        }
        catch (Exception ex)
        {

            throw;
        }
    }
0 голосов
/ 28 мая 2016

int в hex:

int a = 72;

Console.WriteLine ("{0: X}", a);

от шестнадцатеричного до целого:

int b = 0xB76;

еЫп (б);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...