Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Функция преобразовать десятичное число в шестнадцатиричное

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Функция преобразовать десятичное число в шестнадцатиричное
Имя
Сообщение << Старые топики   Новые топики >>
Функция преобразовать десятичное число в шестнадцатиричное - 2010-10-02 18:24:02.170000   
ATAMAN200

Сообщений: 33
Оценки: 0
Присоединился: 2010-08-30 21:13:08.153333
Излазил всё что можно не могу найти функцию преобразовать десятичное число в шестнадцатиричное.
Наверное такой фукции нету.
Post #: 1
RE: Функция преобразовать десятичное число в шестнадцатиричное - 2010-10-02 19:15:13.790000   
hromjo_forever

Сообщений: 119
Оценки: 0
Присоединился: 2010-08-02 12:45:32.986666
как вариант написать свою?
Post #: 2
RE: Функция преобразовать десятичное число в шестнадцатиричное - 2010-10-02 19:17:35.806666   
Klofelin

Сообщений: 68
Оценки: 0
Присоединился: 2010-09-03 20:58:52.116666

quote:

ORIGINAL: ATAMAN200
Наверное такой фукции нету.

Конечно нету. Потому что число нельзя "преобразовать" в то же самое число.
Изменить представление числа можно.
Если на С, то смотри спецификаторы формата для функций printf, fprintf, sprintf (в зависимости куда тебе выводить надо).
Если на С++, то смотри "манипуляторы ввода-вывода".
Post #: 3
RE: Функция преобразовать десятичное число в шестнадцатиричное - 2010-10-03 14:45:22.086666   
yurket

Сообщений: 69
Оценки: 0
Присоединился: 2009-05-04 23:47:54.993333

quote:

ORIGINAL: ATAMAN200

Излазил всё что можно не могу найти функцию преобразовать десятичное число в шестнадцатиричное.
Наверное такой фукции нету.

молодец…

писал давно что-то похожее… может подойдет….

// "переворачивает" символы в строке s void reverse (char s[]) { int c, i, j; for (i = 0, j = strlen(s)-1; i &lt; j; i++, j--) c = s[i], s[i] = s[j], s[j] = c; } /* преобразовывает целое число х в его символьное представление в системе счисления с основанием numNot и помещает результат в строку s */ void itob(int n, char *s, int numNot) { int i = 0, sign; if ((sign = n) &lt; 0) n = -n; do{ s[i++] = (n % numNot &gt;= 10)? (n % numNot + 'A' - 10) : (n % numNot + '0'); }while ((n/=numNot) &gt; 0); if (sign &lt; 0) s[i++] = '-'; s[i] = '\0'; reverse(s); }
Post #: 4
RE: Функция преобразовать десятичное число в шестнадцатиричное - 2010-10-03 14:46:48.913333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Велосипед - это, конечно, хорошо. Но зачем? - http://www.cplusplus.com/reference/clibrary/cstdlib/itoa/
Post #: 5
RE: Функция преобразовать десятичное число в шестнадцатиричное - 2010-10-03 15:19:05.706666   
Klofelin

Сообщений: 68
Оценки: 0
Присоединился: 2010-09-03 20:58:52.116666
Еще к ссылке можно добавить , если число надо получить с префиксом "0х", то в спецификатор формата надо добавить "#".
int dec = 7654321; char hex[16]; sprintf(hex, "%#x", dec); теперь в строке "hex" 0x74cbb1
Post #: 6
RE: Функция преобразовать десятичное число в шестнадцатиричное - 2010-10-03 22:34:41.316666   
yurket

Сообщений: 69
Оценки: 0
Присоединился: 2009-05-04 23:47:54.993333

quote:

ORIGINAL: _SaZ_

Велосипед - это, конечно, хорошо. Но зачем?

согласен… велосипеды это не круто…
начинал читать K&R, и там любезно предлагалось написать аналог в качестве тренировки… потренировался…
Post #: 7
RE: Функция преобразовать десятичное число в шестнадцатиричное - 2010-10-04 01:23:45.373333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Когда тренируешься - не спрашиваешь на форуме. Тем более, что ТС не задумывался над такой темой, как формат хранения чисел в памяти.
Post #: 8
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Функция преобразовать десятичное число в шестнадцатиричное







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.