powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите сложить два байта
7 сообщений из 7, страница 1 из 1
Помогите сложить два байта
    #38802413
da17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день. Есть две сущности типа Byte, bt1 и bt2, в них попадают "сырые" данные в виде бит,
нужно получить bt2(в беззнаковом виде)*256 + bt1(в беззнаковом виде). Честно говоря, с Java я совсем не знаком.
...
Рейтинг: 0 / 0
Помогите сложить два байта
    #38802453
smackmychi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
da17, самое время идти знакомиться.
...
Рейтинг: 0 / 0
Помогите сложить два байта
    #38802492
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
da17, я надеюсь ты понимаешь что при сложении двух 8-ми битных чисел ты получаешь
бит переноса и как следствие сумма - 9-ти битная?
...
Рейтинг: 0 / 0
Помогите сложить два байта
    #38802520
da17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, да понимаю. Я оперируют тем фактом, что бита переноса нет и он в данном случае говорит о том что у нас есть еще (+127) как это было на си++, что-то вроде перевод unsigned char к int;
...
Рейтинг: 0 / 0
Помогите сложить два байта
    #38802528
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коверть всё в int. Складывай. Потом распиливай сумму обратно на байты битовыми операциями.
...
Рейтинг: 0 / 0
Помогите сложить два байта
    #38802545
da17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКоверть всё в int. Складывай. Потом распиливай сумму обратно на байты битовыми операциями.
Да проблема в том, что структура данных непростая. Первый байт надо умножить на определенную константу, второй байт после преобразования тоже на что-то умножить, затем все сложить. Сделал предельно бестолково
Код: sql
1.
2.
3.
4.
Integer bt2 = buff[2];
if( bt2 < 0 ){
bt2 = (-1*bt2) + 127;
}


Если что, то математик, а не программист.
...
Рейтинг: 0 / 0
Помогите сложить два байта
    #38802566
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
da17, умножение положительного числа на 256=2^8 эквивалентно логическому сдвигу на 8 бит влево.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите сложить два байта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]