Преобразувайте низ в шестнадесетично число, записано в int променлива

Имам нужда от функция, която може да преобразува низ, съдържащ числа, в шестнадесетично цяло число, записано в променлива с цяло число, например функцията atoi(char*) преобразува низа в този низ в десетично число, това, от което се нуждая, е нещо подобно, но вместо десетичен , шестнадесетичен


person Shadi Al Mahallawy    schedule 30.12.2010    source източник


Отговори (1)


Всички цели числа съхраняват данни в един и същи формат: двоичен. Това не е нито десетичен, нито шестнадесетичен.

Ако искате да създадете низ от цяло число, тогава можете да решите дали искате десетичен или шестнадесетичен запис.

Не споменахте какъв език използвате, така че просто ще предположа C или C++ от справката atoi(). Има и функция itoa(). Той ще създаде низ от цяло число и можете да посочите дали низът ще бъде създаден с база 16, база 10 или нещо друго.

person Jonathan Wood    schedule 30.12.2010
comment
Използвам c++, atoi() приема низ като параметър и ако съдържа цифри, тогава го преобразува в десетично цяло число, съхранено в променлива, това, от което се нуждая, е функция, която е подобна по всякакъв начин, но вместо да преобразува в десетично цяло число, то се преобразува в шестнадесетично цяло число, съхранено в променлива - person Shadi Al Mahallawy; 30.12.2010
comment
Не, отново atoi() не прави това. Той го преобразува в двоична стойност. Виждате само десетична стойност, защото може да използвате програма за отстраняване на грешки или друг инструмент, който автоматично я преобразува в низ, използвайки основа 10. Не знам как да го направя по-ясен от това. - person Jonathan Wood; 30.12.2010