Как прописать пол байта нужным значением? - 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;

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

  1. Объявляются две переменные типа unsigned char: v и a. Значения этих переменных равны 0x12 и 0xAA соответственно.
  2. Для переменной v выполняется операция умножения на 16 и деления на 16, что приводит к выделению младшего полубайта. Затем полученное значение приводится к типу unsigned char.
  3. Для переменной a выполняется операция деления на 16 и умножения на 16, что приводит к выделению старшего полубайта. Затем полученное значение приводится к типу unsigned char.
  4. Значение переменной v увеличивается на значение переменной a.

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


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

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

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