Как правильно отнять пол байта?

Из 4х байтового числа необходимо откинуть пол байта из младшего байта

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
Аватара пользователя
ElectroMechaniC
Сержант
Сообщения: 230
Зарегистрирован: 21.09.2016{, 06:50}
Репутация: 1
Откуда: Донецк
Имя: Юрий

Как правильно отнять пол байта?

#1

Сообщение ElectroMechaniC » 13.02.2019{, 13:58}

ардуино по UART получает число:

Код: Выделить всё

Hex:  03 04 59 70
Как правильно объявить переменную от этого числа равную:

Код: Выделить всё

a = 03 04 59 7
Другими словами нужно откинуть последний "0"
Дело в том что мне нужно перевести его в десятичные...
А переводе на десятичные должно выйти

Код: Выделить всё

DEC: 3163543

А если просто присвоить переменной 4е байта получается

Код: Выделить всё

DEC: 50616688
В калькуляторе то всё просто, а вот в скетче играюсь со сдвигами байтов, но пока что не выходит "аленький цветочек"
Подскажите ЗНАТОКИ!
:newrus: Все в руках человека. Поэтому всегда мойте руки перед и зад! :victory:
:smile225: :smile469: :smile427:

Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 476
Зарегистрирован: 18.09.2015{, 10:04}
Репутация: 54
Откуда: Омск

Как правильно отнять пол байта?

#2

Сообщение kulibinsvv » 13.02.2019{, 14:14}

ElectroMechaniC, нужно сделать следующее:
1.Переводите число HEX: 03 04 59 70 в десятичный вид.
2. Полученное число делите на 16.
3. И весело идёте пить пиво.
:D
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Как правильно отнять пол байта?

#3

Сообщение Sancho » 13.02.2019{, 14:31}

ElectroMechaniC, Сдвиг вправо на 4 бит поможет :)
1 байт = 8 бит = два символа в Hex. Каждый символ = 4 бита.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
ElectroMechaniC
Сержант
Сообщения: 230
Зарегистрирован: 21.09.2016{, 06:50}
Репутация: 1
Откуда: Донецк
Имя: Юрий

Как правильно отнять пол байта?

#4

Сообщение ElectroMechaniC » 13.02.2019{, 14:32}

kulibinsvv, да спасибо!
Получилось!
Блин! как это работает?
:newrus: Все в руках человека. Поэтому всегда мойте руки перед и зад! :victory:
:smile225: :smile469: :smile427:

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Как правильно отнять пол байта?

#5

Сообщение Sancho » 13.02.2019{, 14:37}

Замени типы переменных в блоках на необходимые тебе

Отправлено спустя 1 минуту 1 секунду:
Каждый сдвиг вправо на один бит эквивалентен делению на два.
Вложения
Двигаем влево_вправо.flp
(37.14 КБ) 58 скачиваний
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
ElectroMechaniC
Сержант
Сообщения: 230
Зарегистрирован: 21.09.2016{, 06:50}
Репутация: 1
Откуда: Донецк
Имя: Юрий

Как правильно отнять пол байта?

#6

Сообщение ElectroMechaniC » 13.02.2019{, 23:16}

Sancho, спасибо! Запомню...
:newrus: Все в руках человека. Поэтому всегда мойте руки перед и зад! :victory:
:smile225: :smile469: :smile427:

Ответить

Вернуться в «Спросить у знатоков»