Как прописать пол байта нужным значением? - C (СИ)
Формулировка задачи:
Всем привет!
Есть, к примеру в байте значение 0х12, а нужно, что б было 0хА2 или 0х1А.
Как более изящно это сделать?
У меня в два этапа получается.
Сначало обнулить изменяемый полубайт через ИЛИ, а потом, опять через ИЛИ "0хА" ему присвоить.
Эта мысль посетила меня ночью. Попробовать смогу только дома. Сейчас я на работе и нет возможности проверить.
Но, должно ж получиться?
Или есть решение за одну операцию?
Спасибо!
Решение задачи: «Как прописать пол байта нужным значением?»
textual
Листинг программы
unsigned char v = 0x12; unsigned char a = 0xAA; v=(v*16)/16 ;//выделяем младший полубайт 16 это 2 в 4 a= (a/16)*16;//выделяем старший полубайт v=v+a;
Объяснение кода листинга программы
- Объявляются две переменные типа unsigned char: v и a. Значения этих переменных равны 0x12 и 0xAA соответственно.
- Для переменной v выполняется операция умножения на 16 и деления на 16, что приводит к выделению младшего полубайта. Затем полученное значение приводится к типу unsigned char.
- Для переменной a выполняется операция деления на 16 и умножения на 16, что приводит к выделению старшего полубайта. Затем полученное значение приводится к типу unsigned char.
- Значение переменной v увеличивается на значение переменной a.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д