|
|
|
Битовые поля
|
|||
|---|---|---|---|
|
#18+
Добрый день! Код: plaintext 1. 2. 3. 4. 5. Возможно ли в С++ скопировать информацию в поле1 со всех остальных переменных побитово, т.е. значения поле4 и поле5 в поле1 будут занимать по одному биту, а поле2 и поле5 необходимо разделить пополам и насыпать в поле1? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2018, 07:19 |
|
||
|
Битовые поля
|
|||
|---|---|---|---|
|
#18+
ну, немного хочу уточнить, скопировать конечно можно, меня интересует какой-нибудь элегантный способ вроде инструкции итд, чтобы не проходить все циклами и разными там битовыми перемещениями ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2018, 08:25 |
|
||
|
Битовые поля
|
|||
|---|---|---|---|
|
#18+
union + битовые поля Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2018, 09:03 |
|
||
|
Битовые поля
|
|||
|---|---|---|---|
|
#18+
Начать надо с того, что тут нет битовых полей , ну ладно... andrej2005Добрый день! Код: plaintext 1. 2. 3. 4. 5. Возможно ли в С++ скопировать информацию в поле1 со всех остальных переменных побитово, т.е. значения поле4 и поле5 в поле1 будут занимать по одному биту, а поле2 и поле5 необходимо разделить пополам и насыпать в поле1? Возможно, конечно, возможно. На С++ возможно всё! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2018, 15:25 |
|
||
|
Битовые поля
|
|||
|---|---|---|---|
|
#18+
m_Sla, union немного не то, я ими уже пользовался - классная вещь. Но, когда речь идет о тысяче логических переменных, то он очень трудоемкий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2018, 21:54 |
|
||
|
Битовые поля
|
|||
|---|---|---|---|
|
#18+
MasterZiv, я возможно неправильно выразился, мне необходимо загнать логические переменные (8 битов) побитово одним махом, допустим, в unsigned short, которое из себя представляет status word. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2018, 22:03 |
|
||
|
Битовые поля
|
|||
|---|---|---|---|
|
#18+
andrej2005MasterZiv, я возможно неправильно выразился, мне необходимо загнать логические переменные (8 битов) побитово одним махом, допустим, в unsigned short, которое из себя представляет status word. таким образом редуцировать bool на один бит и съэкономить память в чипе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2018, 22:08 |
|
||
|
Битовые поля
|
|||
|---|---|---|---|
|
#18+
andrej2005MasterZiv, я возможно неправильно выразился, мне необходимо загнать логические переменные (8 битов) побитово одним махом, допустим, в unsigned short, которое из себя представляет status word.Пишете (громоздкое) выражение, которое уже компилятор превратит в (максимально) компактный код. Да, не из одной операции, но у памяти - байтовая организация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2018, 06:19 |
|
||
|
Битовые поля
|
|||
|---|---|---|---|
|
#18+
andrej2005andrej2005MasterZiv, я возможно неправильно выразился, мне необходимо загнать логические переменные (8 битов) побитово одним махом, допустим, в unsigned short, которое из себя представляет status word. таким образом редуцировать bool на один бит и съэкономить память в чипе.так ты не делай отдельно эти 5 bool, а сразу делай эти bool в статус ворд и работай только с статус вордом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2018, 08:01 |
|
||
|
Битовые поля
|
|||
|---|---|---|---|
|
#18+
Код: 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. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2018, 08:27 |
|
||
|
Битовые поля
|
|||
|---|---|---|---|
|
#18+
Еще посмотри http://www.cplusplus.com/reference/bitset/bitset/ там есть std::bitset::to_ulong Потом этот итоговый ulong можно сдвигами загонять в статус ворд. Насколько bitset оптимален по памяти/быстродействию не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2018, 09:09 |
|
||
|
Битовые поля
|
|||
|---|---|---|---|
|
#18+
MasterZivНа С++ возможно всё! Ой ли. Тот же static virtual в ObjectPascal идет искаропки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2018, 10:11 |
|
||
|
Битовые поля
|
|||
|---|---|---|---|
|
#18+
ну яОй ли. Тот же static virtual в ObjectPascal идет искаропки.Ась???? что подразумеваешь под "static virtual" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2018, 12:13 |
|
||
|
Битовые поля
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)ну яОй ли. Тот же static virtual в ObjectPascal идет искаропки.Ась???? что подразумеваешь под "static virtual" ? http://wiki.c2.com/?VirtualStaticIdiom ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2018, 12:18 |
|
||
|
Битовые поля
|
|||
|---|---|---|---|
|
#18+
NekZkealon(Ruslan)пропущено... Ась???? что подразумеваешь под "static virtual" ? http://wiki.c2.com/?VirtualStaticIdiom хорошая идома, делается на уровне компилятора но в паскале (реализации дельфи) её нет, во всяком случае я не знаю такого ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2018, 12:42 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39682836&tid=2017783]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 405ms |

| 0 / 0 |
