Бинарный код записать в переменную char - C (СИ)

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

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

Имею я например следующую переменную:
char *cс = "10100101"
Подскажите, каким образом значение переменной можно записать в виде символа, т.е. сhar занимает в памяти компьютера 1 байт т.е. 8 бит, в переменной cc значение "10100101". Т.е. по сути 8-ми знакам(единицы и нули) данной последовательности "10100101"(если данную последовательность рассматривать как записть 1 и 0 в памяти компьютера) соответствует какой-то знак. Вот этот то знак я и хочу вывести на экран либо записать в переменную типа char. Ccылке тоже буду оч рад!!!!

Решение задачи: «Бинарный код записать в переменную char»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
int main(void) {
    char* cc = "10100101";
    unsigned char c = (unsigned char)strtol(cc, NULL, 2);
    
    printf("Hex: %hhx Dec: %hhu\n", c, c);
    
    return 0;
}

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

  1. Включаем необходимые заголовочные файлы для работы с библиотекой stdlib.h и для работы с файлами ввода/вывода stdio.h
  2. Объявляем функцию main, которая является точкой входа в программу
  3. Объявляем переменную cc типа char* и инициализируем её строковым литералом 10100101
  4. Приводим указатель cc к типу unsigned char и сохраняем результат в переменную c
  5. Преобразуем переменную c в шестнадцатеричную систему счисления с помощью функции printf
  6. Выводим значение переменной c в десятичной системе счисления с помощью функции printf
  7. Возвращаем 0, чтобы указать, что программа успешно завершилась

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


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

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

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