|
|
|
Работа с битами в С++
|
|||
|---|---|---|---|
|
#18+
Подскажите с какой стороны начать.Надо сделать кодирующую программу которая должна делать следующее : 1 байт превратить в три байта путем трех разового повторения каждого бита.Ниже пример: DE == D -- E == F(11)-- C(12) -- 7(9) -- F(10) -- F(7) -- 8(8) -------1101 - 1110 - 1111 -1100 - 0111 - 1111 - 1111 - 1000 И так несколько байт.Потом из каждых четырех бит (полубайта)собрать новые байты ( в скобках указаны номера на которые их надо ставить ) Ниже пример как надо собирать - верхний ряд значение в шестнадцатиречном виде, нижний ряд это тот номер что в скобках вверху , то есть откуда его видергивать. C 0 0 1 E 0 F 8 7 F F C 0 0 0 0 0 (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13)(14) (15)(16) (17) Поскажите как это сделать в С++. Спасибо всем за советы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2006, 19:06 |
|
||
|
Работа с битами в С++
|
|||
|---|---|---|---|
|
#18+
YosipПодскажите с какой стороны начать.Надо сделать кодирующую программу которая должна делать следующее : 1 байт превратить в три байта путем трех разового повторения каждого бита.Ниже пример: DE == D -- E == F(11)-- C(12) -- 7(9) -- F(10) -- F(7) -- 8(8) -------1101 - 1110 - 1111 -1100 - 0111 - 1111 - 1111 - 1000 И так несколько байт.Потом из каждых четырех бит (полубайта)собрать новые байты ( в скобках указаны номера на которые их надо ставить ) Ниже пример как надо собирать - верхний ряд значение в шестнадцатиречном виде, нижний ряд это тот номер что в скобках вверху , то есть откуда его видергивать. C 0 0 1 E 0 F 8 7 F F C 0 0 0 0 0 (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13)(14) (15)(16) (17) Поскажите как это сделать в С++. Спасибо всем за советы. Что требуется во второй части - не понял. Разбей на 2 этапа. В первом цикл(ы) с индексами текущих бит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 10:03 |
|
||
|
Работа с битами в С++
|
|||
|---|---|---|---|
|
#18+
Первая задача - перекодировать один байт в три путем утроения каждого бита в исходном байте. Например исходный байт DE.Его двоичное представление - 1101 1110 . Первая "1" пишется три раза "111", вторая тоже три раза "111", третим идет "0" - пишется три раза "000" и т.д.Получается в результате 8*3=24 бита , которые раскладываются в три байта 1101 1110 --> 1111 1100 - 0111 1111 - 1111 1000 Вторая задача - получить доступ отдельно к старшему и младшему полубайту чтоб собрать из них новые байты. То есть перые 1111 надо выдернуть и поставить скажем на место младшей тетрады в пятом байте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 10:26 |
|
||
|
Работа с битами в С++
|
|||
|---|---|---|---|
|
#18+
YosipПервая задача - перекодировать один байт в три путем утроения каждого бита в исходном байте. Например исходный байт DE.Его двоичное представление - 1101 1110 . Первая "1" пишется три раза "111", вторая тоже три раза "111", третим идет "0" - пишется три раза "000" и т.д.Получается в результате 8*3=24 бита , которые раскладываются в три байта 1101 1110 --> 1111 1100 - 0111 1111 - 1111 1000 Вторая задача - получить доступ отдельно к старшему и младшему полубайту чтоб собрать из них новые байты. То есть перые 1111 надо выдернуть и поставить скажем на место младшей тетрады в пятом байте. Значит - пробежаться по тетрадам и в соответствии с таблицей (правила, из постановки задачи), разместить их там где надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 10:38 |
|
||
|
Работа с битами в С++
|
|||
|---|---|---|---|
|
#18+
а вот такая чтука не подойдет? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 15:26 |
|
||
|
Работа с битами в С++
|
|||
|---|---|---|---|
|
#18+
H.A.M.а вот такая чтука не подойдет? ... Ну, это тока операции выделения битов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 15:59 |
|
||
|
Работа с битами в С++
|
|||
|---|---|---|---|
|
#18+
Dmitrii K. H.A.M. bitset bit fields Неужели этого мало? :) А в чем тогда проблема? Размножить биты по три? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 17:02 |
|
||
|
Работа с битами в С++
|
|||
|---|---|---|---|
|
#18+
H.A.M. Dmitrii K. H.A.M. bitset bit fields Неужели этого мало? :) А в чем тогда проблема? Размножить биты по три? Это кому вопрос? У меня с битами проблем нет. ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 17:11 |
|
||
|
Работа с битами в С++
|
|||
|---|---|---|---|
|
#18+
Я пока начинающий прогамист.И в С++ работать с отдельными битами и тетрадами работать не приходилось. За ответы большое спасибо.Завтра обработаю все ответы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 18:51 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34060523&tid=2030250]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
435ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 774ms |

| 0 / 0 |
