| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [C++] Сложить все байты в одной строке |
| Автор: mrbin 28.11.2010, 21:04 | ||
| Здравствуйте. Чесно полазив в Интернете и спросив у гугла, так и не понял как можно сложить байты есть строка 8d79e0be803ac66784fbdbd0 нужно получить сумму в шеснатеричном виде , т.е. 8d+79+e0+be+80+3a+c6+67+84+fb+db+d0 = ..
|
| Автор: mes 28.11.2010, 21:38 |
| если строка нуль-терминорованная, то инкрементировать указатель, пока не дойдете до нуля.. иначе нужна длина строки.. |
| Автор: bsa 28.11.2010, 22:10 | ||
mrbin
|
| Автор: mrbin 29.11.2010, 11:30 |
| фигня какаето (простите) получается >./a.out 00 >=60 >./a.out 0000 =c0 |
| Автор: bsa 29.11.2010, 11:59 |
| mrbin, гы. Я что-то подумал, что тебе именно строку нужно, а не 16-тиричный дамп... тогда в цикле берешь текущий символ, преобразуешь его в десятичный (0 -> 0, ..., 9 -> 9, a -> 10, ..., f -> 15), умножаешь на 1 или 16 (в зависимости от текущего положения - если счетчик четный, то 16) и прибавляешь к crc. |
| Автор: mrbin 29.11.2010, 12:08 |
| алгоритм мне понятен, вот только пишу я здесь ибо в Си полный профан |
| Автор: bsa 29.11.2010, 13:08 |
| mrbin, если хочешь, чтобы писали за тебя, то тебе в другой раздел. Здесь только помогают советом - код писать тебе. |
| Автор: mes 29.11.2010, 13:33 |
| еще поиск по форуму поможет.. недавно была тема, где есть примеры перевода стоки шестнадцатиричных чисел.. |
| Автор: mrbin 29.11.2010, 13:51 |
| |
| Автор: bsa 29.11.2010, 17:15 |
| Для домашних заданий, курсовых, существует "Центр Помощи". Тема перенесена! |
| Автор: Леопольд 30.11.2010, 08:41 | ||
|