|
C: Bitwise Operators
|
|||
---|---|---|---|
#18+
не понимаю, как работать с битовыми операторами ... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
4) функция из КР Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 02:09 |
|
C: Bitwise Operators
|
|||
---|---|---|---|
#18+
тут что не понятно? https://ru.wikipedia.org/wiki/Битовая_операция пример Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
вывод программы 255 & 53 = 11111111 00110101 -------- 00110101 = 53 255 & ~53 = 11111111 11001010 (~53) -------- 11001010 = 202 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 03:20 |
|
C: Bitwise Operators
|
|||
---|---|---|---|
#18+
mini.weblab не понимаю, как работать с битовыми операторами ... 4) функция из КР ... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38.
вывод программы getbits(1234567890,10,6); ~0 = 11111111111111111111111111111111 (~0 << n) = 11111111111111111111111111000000 ~(~0 << n) = 00000000000000000000000000111111 x = 01001001100101100000001011010010 (x >> (p+1-n)) = 00000010010011001011000000010110 (x >> (p+1-n)) & ~(~0 << n) = 00000000000000000000000000111111 00000010010011001011000000010110 -------------------------------- 00000000000000000000000000010110 (22) 22 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 03:55 |
|
C: Bitwise Operators
|
|||
---|---|---|---|
#18+
Я бы "Bitwise" переводил как "побитовые", т.к. это ближе к смыслу. Суть в том что операнды рассматриваются как массивы битов и операция происходит отдельно для каждого бита. Значение 1 рассматривается как true и дальше по аналогии с логическими операциями. Для рассмотрения конкретных значений надо их представлять в двоичном виде и дополнять нулями до нужной разрядности. Например uint8_t (разрядность 8 бит) Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 07:27 |
|
C: Bitwise Operators
|
|||
---|---|---|---|
#18+
mini.weblab 1) n = n & 0177; Здесь справа стоит восьмеричная константа. Надо быть осторожным т.к. мы часто ошибочно ее видим глазами. По смыслу это похоже на выделение в n групп битов по 3 штуки. Как в Unix файловых правах. Например 177 (восьмеричной) => 001 111 111 в двоичной. Тоесть после этой операции если n = 010 010 101 результат будет пересечением битов тоесть 000 010 101. Честно я не вижу особого смысла в наше время юзать восьмеричку. В bash например ее элегантно заменяют символические привилегии (chmod u+rwx) например для владельца поставить все три битика. И так просто и понятно. И когда Unix админ лупит три семерки - это такой себе кич. Дай бох он сможет в голове проинтерпретирвоать более сложную маску. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 10:45 |
|
C: Bitwise Operators
|
|||
---|---|---|---|
#18+
m_Sla, Dima_T, mayton спасибо ! каждый ответ добавил что-то новое ! и теперь я, наконец, разберусь в побитовых операциях. (обычно этот раздел я всегда пропускала) :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 12:43 |
|
C: Bitwise Operators
|
|||
---|---|---|---|
#18+
mini.weblab, это таже Булева алгебра, но только поразрядно для двоичной системы счисления. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 13:14 |
|
C: Bitwise Operators
|
|||
---|---|---|---|
#18+
mayton И когда Unix админ лупит три семерки - это такой себе кич. Дай бох он сможет в голове проинтерпретирвоать более сложную маску. hex в помощь ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 17:00 |
|
C: Bitwise Operators
|
|||
---|---|---|---|
#18+
Алексей Роза, зачем мне это? Это - поверхностно. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 16:11 |
|
C: Bitwise Operators
|
|||
---|---|---|---|
#18+
а по-моему весьма глубоко даёт отличное понимание, как биты работают ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 17:52 |
|
C: Bitwise Operators
|
|||
---|---|---|---|
#18+
Мы в школе играли в конспирологию. Записочками перекидывались. Ну придумывали секретный язык из закорючек чтоб учителя не поняли. И я тогда выучил двоичный код. Но если вы работаете в баше и вам надо дать доступ к группе например на запись - то самый лучший вариант это chmod +gr. А не игры в уме с дизъюнкцией. Еще напутаете. А это - прод. И вас накажут. За неряшливость. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 18:00 |
|
C: Bitwise Operators
|
|||
---|---|---|---|
#18+
будто бы +gr нельзя напутать с +gw если ты неряшлив, ты всегда найдёшь где напутать а понимать, что FF это на самом деле 1111 + 1111, это важно. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 20:45 |
|
C: Bitwise Operators
|
|||
---|---|---|---|
#18+
Алексей Роза а понимать, что FF это на самом деле 1111 + 1111, это важно. Детский сад какой-то ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 20:54 |
|
C: Bitwise Operators
|
|||
---|---|---|---|
#18+
а я вот уверен, что явисты и питоны не в курсе. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 23:04 |
|
C: Bitwise Operators
|
|||
---|---|---|---|
#18+
Алексей Роза, FF = 11111111, а 1111+1111 = 11110 = 1E совет автор дает правильный, к 16чной системе нужно привыкнуть ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 23:35 |
|
C: Bitwise Operators
|
|||
---|---|---|---|
#18+
Изопропил Алексей Роза а понимать, что FF это на самом деле 1111 + 1111, это важно. Детский сад какой-то Да у Алексея Розы вообще бардак какой-то в голове. Впрочем, есть мнение, что у истинно творческих людей всегда бардак в голове. Но обратное неверно. Те у кого бардак в голове не всегда являются истинно творческими людьми. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 23:44 |
|
C: Bitwise Operators
|
|||
---|---|---|---|
#18+
mini.weblab FF = 11111111, а 1111+1111 = 11110 = 1E + в данном случае это пробел ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2020, 09:42 |
|
C: Bitwise Operators
|
|||
---|---|---|---|
#18+
mini.weblab, зачем привыкать к 16-тиричной системе счисления при изучении битовых операций, использующих двоичную систему? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2020, 10:57 |
|
C: Bitwise Operators
|
|||
---|---|---|---|
#18+
rdb_dev mini.weblab, зачем привыкать к 16-тиричной системе счисления при изучении битовых операций, использующих двоичную систему? :) Это как езда на велосипеде без рук. Понты колотить можно. Но с другой стороны держать в голове табличку типа 0xF = 1111(b), 0xE = ... e.t.c. это очень полезно по жизни. Всегда есть легаси язык или среда где нет нативной поддержки двоичной системы. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2020, 11:07 |
|
|
start [/forum/topic.php?fid=57&msg=39964011&tid=2017408]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 147ms |
0 / 0 |