powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Побитовые операции
12 сообщений из 12, страница 1 из 1
Побитовые операции
    #33160086
Кутузов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дбрый день!
У меня возникла проблем следующего плана.
Есть массив из 32 битов.

Есть 2 числа типа int в которых значащими являются только первы 16 бит.
Необходимо затолкать эти 2х16 разрядов в эти 32 байта.
...
Рейтинг: 0 / 0
Побитовые операции
    #33160090
Кутузов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. 16 перых байт заполнить одним числом а 16 вторых вторым числом
...
Рейтинг: 0 / 0
Побитовые операции
    #33160100
Фотография VirusXP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кутузовДбрый день!
У меня возникла проблем следующего плана.
Есть массив из 32 битов.

Есть 2 числа типа int в которых значащими являются только первы 16 бит.
Необходимо затолкать эти 2х16 разрядов в эти 32 байта.
это же в школе учат

10010101 (2) = 2 в 0 степени + 2 во 2 степени + 2 в 4 степени + 2 в 7 степени
...
Рейтинг: 0 / 0
Побитовые операции
    #33160103
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
a | b <<  16 
...
Рейтинг: 0 / 0
Побитовые операции
    #33160111
Кутузов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
упс :)
спасибо :)
...
Рейтинг: 0 / 0
Побитовые операции
    #33160146
Я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я
Гость
Denis Popov
Код: plaintext
a | b <<  16 
Что-то я не понял как это работает :).
a и b это я так понимаю наши числа int, да?
Эти операции работают слева направо, правильно?
Т. е. сначала мы делаем а ИЛИ b, а потом сдвигаем получившийся результат влево на 16 бит. Так? И чего же мы получим в результате? Объясните, если не сложно.
...
Рейтинг: 0 / 0
Побитовые операции
    #33160151
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЯЧто-то я не понял как это работает :).
Shift and Logical Operators А сдвиг, видать, приоритетнее побитового OR.
...
Рейтинг: 0 / 0
Побитовые операции
    #33160162
Я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я
Гость
Denis PopovА сдвиг, видать, приоритетнее побитового OR.Все, понял свою ошибку. Действительно сдвиг приоритетнее. Неверно понял текст доки просто. Спасибо за разъяснение.
...
Рейтинг: 0 / 0
Побитовые операции
    #33187834
Кутузов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2х16 бита запаковываю в 32


распаковываю так (temp_sample содержит запаковынные 32 бита)
value1=getbytes(temp_sample,15,16);
value2=getbytes(temp_sample,31,16);

private int getbytes(int x, int p, int n)
{
return (x>>(p+1-n))&~(~0<<n);
}

Если значение положительное, все прекрасно работает....
Когда отрицательное, не работает :(
в чем проблема?
...
Рейтинг: 0 / 0
Побитовые операции
    #33188504
Кутузов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VirusXP
это же в школе учат

т.е. как 16х2 в 32 заложить в школе учат
а обратное преобразование подсказать ни кто не может....
...
Рейтинг: 0 / 0
Побитовые операции
    #33188709
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Кутузов

Про знаковый бит не забыл?
...
Рейтинг: 0 / 0
Побитовые операции
    #33188789
Кутузов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот про знаковый бит я не забыл...
а вот как его пользовать забыл ;)
может кто умный подскажет салюшин :)
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Побитовые операции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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