Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Побитовые операции / 12 сообщений из 12, страница 1 из 1
11.07.2005, 18:37
    #33160086
Кутузов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Побитовые операции
Дбрый день!
У меня возникла проблем следующего плана.
Есть массив из 32 битов.

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

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

10010101 (2) = 2 в 0 степени + 2 во 2 степени + 2 в 4 степени + 2 в 7 степени
...
Рейтинг: 0 / 0
11.07.2005, 18:47
    #33160103
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Побитовые операции
Код: plaintext
a | b <<  16 
...
Рейтинг: 0 / 0
11.07.2005, 18:52
    #33160111
Кутузов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Побитовые операции
упс :)
спасибо :)
...
Рейтинг: 0 / 0
11.07.2005, 19:17
    #33160146
Я
Я
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Побитовые операции
Denis Popov
Код: plaintext
a | b <<  16 
Что-то я не понял как это работает :).
a и b это я так понимаю наши числа int, да?
Эти операции работают слева направо, правильно?
Т. е. сначала мы делаем а ИЛИ b, а потом сдвигаем получившийся результат влево на 16 бит. Так? И чего же мы получим в результате? Объясните, если не сложно.
...
Рейтинг: 0 / 0
11.07.2005, 19:21
    #33160151
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Побитовые операции
ЯЧто-то я не понял как это работает :).
Shift and Logical Operators А сдвиг, видать, приоритетнее побитового OR.
...
Рейтинг: 0 / 0
11.07.2005, 19:27
    #33160162
Я
Я
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Побитовые операции
Denis PopovА сдвиг, видать, приоритетнее побитового OR.Все, понял свою ошибку. Действительно сдвиг приоритетнее. Неверно понял текст доки просто. Спасибо за разъяснение.
...
Рейтинг: 0 / 0
27.07.2005, 19:10
    #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
28.07.2005, 10:39
    #33188504
Кутузов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Побитовые операции
VirusXP
это же в школе учат

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

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


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