|
Перевод программы с Python на C++
|
|||
---|---|---|---|
#18+
Доброго времени суток, уважаемые пользователи. Столкнулся с проблемой правильного перевода кода с языка Python на C++. Код на пайтоне решает следующую задачу: 1. Открыть бинарный файл udk_dump.bin 2. Выделить из потока нулевой и первый канал , сформировать и сохранить на диск один файл формата csv. Примечание: каждый байт представляет собой 1 отсчёт восьми каналов данных с параллельной шины, таким образом нулевому каналу соответствует нулевой бит, первому каналу - первый бит и тд. в csv-файле 3 колонки : нулевой канал, первый канал, нулевой канал логически умноженный на первый канал. Одна строчка = один отсчёт. 3. Декодировать информационный поток , т.е. выполнить дискретизацию сигнала относительно середины интервала между синхроимпульсами. Результат работы - csv файл с одной колонкой с отсчётами декодированного потока (т.е. значение 0 или 1 ). Одна строчка = один отсчёт. Примечание: нулевой и первый канал представляют собой информационный поток кода нулей и единиц (активный уровень нулевого канала = 0, активный уровень первого канала = 1), в обоих каналах присутствуют синхроимпульсы, предназначенные для определения точки сэмплирования. 4. Выделить из декодированного информационного потока кадры ТЕЛЕМЕТРИЧЕСКОЙ ИНФОРМАЦИИ, каждый из которых начинается с синхромаркера. В качестве синхромаркера используется 32-х разрядная последовательность: 0001 1010 1100 1111 1111 1100 0001 1101. 4.1. Определить размер кадра телеметрической информации 4.2. Сформировать пакеты ТМИ из полученных бит (от старшего к младшему) включая синхромаркер. 4.3. Записать полученные пакеты в бинарный файл out.bin. Вот, собственно, код на python, который правильно решает эту задачу: Код: python 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.
Вот мой код на C++, который должен работать также, но выводит один единственный ноль в файл: Код: 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. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92.
Не могу понять где семантическая ошибка в коде на C++ и чем он отличается от кода на Python. Благодарю за внимание. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2020, 00:23 |
|
Перевод программы с Python на C++
|
|||
---|---|---|---|
#18+
MrNoNameНе могу понять где семантическая ошибка в коде на C++ и чем он отличается от кода на Python. Проходи отладчиком пошагово тот и другой пока значения переменных и прочее состояние не начнут отличаться. Вот в месте появления различий и будет ошибка. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2020, 01:21 |
|
|
start [/forum/topic.php?fid=57&msg=39928232&tid=2017469]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 140ms |
0 / 0 |