Перевод текста в число - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Мне нужно перевести текст в число. На входе шестандцатиричное чесло в текстовом виде, надо получить инт. Atoi сдесь не помогает, может есть подходящий аналог? Или надо самому это описывать?

Решение задачи: «Перевод текста в число»

textual
Листинг программы
#include <stdio.h>      
#include <stdlib.h>     /* strtol */
 
int main ()
{
    char num1[] = "25cf16";
    char num2[] = "0x6abcd";
 
    long int li1, li2;
    li1 = strtol (num1, NULL, 16);
    li2 = strtol (num2, NULL, 0);
  
    printf("Hexadecimals:\t%s,\t\t%s\n", num1, num2);
    printf ("Integers:\t%ld,\t%ld\n", li1, li2);
 
    getchar();
    return 0;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с памятью и строками
  2. Объявление двух переменных типа char для хранения строк
  3. Объявление двух переменных типа long int для хранения чисел
  4. Использование функции strtol для преобразования строки в число, с указанием основания системы счисления (16 для шестнадцатеричной системы)
  5. Вывод исходных строк на экран
  6. Вывод преобразованных чисел на экран
  7. Ожидание нажатия клавиши для завершения работы программы
  8. Возвращение значения 0, сигнализирующего о успешном завершении работы программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.267 из 5
Похожие ответы