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

start [/forum/topic.php?fid=59&msg=33160151&tid=2151848]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
141ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 467ms |

| 0 / 0 |
