Бинарный код записать в переменную char - C (СИ)
Формулировка задачи:
Имею я например следующую переменную:
Подскажите, каким образом значение переменной можно записать в виде символа, т.е. сhar занимает в памяти компьютера 1 байт т.е. 8 бит, в переменной cc значение "10100101". Т.е. по сути 8-ми знакам(единицы и нули) данной последовательности "10100101"(если данную последовательность рассматривать как записть 1 и 0 в памяти компьютера) соответствует какой-то знак. Вот этот то знак я и хочу вывести на экран либо записать в переменную типа char.
Ccылке тоже буду оч рад!!!!
char *cс = "10100101"
Решение задачи: «Бинарный код записать в переменную 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; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с библиотекой stdlib.h и для работы с файлами ввода/вывода stdio.h
- Объявляем функцию main, которая является точкой входа в программу
- Объявляем переменную cc типа char* и инициализируем её строковым литералом
10100101
- Приводим указатель cc к типу unsigned char и сохраняем результат в переменную c
- Преобразуем переменную c в шестнадцатеричную систему счисления с помощью функции printf
- Выводим значение переменной c в десятичной системе счисления с помощью функции printf
- Возвращаем 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д