Здесь системы счисления не имеют никакого значения, всего лишь формы записи, удобные для своих случаев. Кто Вам мешает лог в десятичном виде получать? Просто на каждое число три разряда будет, вот и всё. От 000 до 255.
Для тех, у кого в детстве был ZX Spectrum, это вообще не проблема.
_________________ Репозиторий STM32: https://cloud.mail.ru/public/2i19/Y4w8kKEiZ Актуальность репозитория: 1 сентября 2025 года Если чего-то не хватает с сайта st.com - пишите, докачаю.
Здесь системы счисления не имеют никакого значения, всего лишь формы записи, удобные для своих случаев. Кто Вам мешает лог в десятичном виде получать? Просто на каждое число три разряда будет, вот и всё. От 000 до 255.
Для тех, у кого в детстве был ZX Spectrum, это вообще не проблема.
намек то ваш вполне понятный , можно добавить ОРИОН . СКОРПИОН. МК , далее перфокарты, ЭВМ с машинным залом укотрых обЬёмобщей памяти был 500Мб. 286,386, 486 пентиум ну и так далее . а суть то опять ведь не в этом . забалтывание. жаль
что надо ещё ? )) браузер научился считать КС... СИ копируется в любую другую программу... в МК... в виртуалку... куда угодно)) тока тип переменных поменять в зависимости от среды... и всё))
там в некоторых случаях требуется операция именно с 16-ричным числом. конкретно.
в каких?
ожидаемый вопрос . я говорю о том , что приходится по ходу выполнения все время конвертировать туда -сюда получается большое нагромождение . если усложнять до макросов , ? то наверно быстрее сделать так . быстрее но количество операций по ячейкам большое , и оно прогресивнорасте при увеличении числа байт в логе. таблица становится трудно читаемой.
что надо ещё ? )) браузер научился считать КС... СИ копируется в любую другую программу... в МК... в виртуалку... куда угодно)) тока тип переменных поменять в зависимости от среды... и всё))
не я ничего не говорю . надо проверить .припервом приближении -работает над короткими посылками. как длинные надо посмотреть?
однако код 2стр . ранее HardWareMan писал(а): как считается контролька?, я выдал прям готовое решение - копипастить в исходник и поехали. О какой программе речь ---------- поэтому его слова и были Взяты за чистую монету. т.е ---скопировал ---вставилл---всё оно работает. ---------- ....ни хрено девки пляшут...
поэтому его слова и были Взяты за чистую монету. т.е ---скопировал ---вставилл---всё оно работает. ---------- ....ни хрено девки пляшут...
Всё верно. монета чище некуда. Его функция была вставлена в WinForms и она заработала. Девки, правда, не плясали, по крайней мере, не рядом со мной, а жаль...
по ходу выполнения все время конвертировать туда -сюда получается большое нагромождени
Для этого есть ДЕС.В.ШЕСТН
Конечно, на Халяву проще.
Кстати, кто знает что такое Халява изначально?
фуйню порите барин , десять раз сказал уже , как еще. in the table EXCEL works но когда лениво читать , такие мысля и рождаются ps и опять прошу не засорять тему опусами о звездах, в Вашем понимании. страниц уже много . тема на смотринах у 7000 чел.
ну так надо же аккуратно вставлять... а не как попало))
на типы переменных смотрим...
разные среды по разному "думают" )) браузер вообще по своему думает)) у него вообще всё автоматом)) и указатели я бы не использовал в СИ... можно и без них. указатели это вообще ассемблерная фишка)) там без них ничего работать не будет.
в остальном всё правильно.
далее... идёт оптимизация))
Спойлер
Код:
<!DOCTYPE html> <html> <head> <title>crc и КС</title> <h2>Расчёт crc и КС:</h2> </head> <body>
<script> //////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////Buf: var Buf = [ 0x00,0x00,0x00,0xC0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ]; var KS_len = 4; // KS_len var String; //////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////TX_int: var TX_int = [ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ]; var xTX = 0; // счёт xTX var TX_len = 12; // TX_len //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////crcTX: var crcTX = 0; var bcrcTX = 0; var aTX = 0; var bTX = 0; function fcrcTX(){ crcTX = 0xFFFFFFFF; for (bTX=0; bTX<(TX_len-4); bTX=bTX+4) { bcrcTX=TX_int[bTX]; bcrcTX=(bcrcTX<<8)|TX_int[bTX+1]; bcrcTX=(bcrcTX<<8)|TX_int[bTX+2]; bcrcTX=(bcrcTX<<8)|TX_int[bTX+3]; crcTX ^= bcrcTX; for( aTX = 0; aTX < 32; aTX++ ){ if ((crcTX & 0x80000000) != 0){crcTX = (crcTX << 1) ^ 0x04C11DB7;}//Eth. else {crcTX = (crcTX << 1);}; }; }; TX_int[TX_len-4] = ((crcTX>>24) & 0xFF);// crc TX_int[TX_len-3] = ((crcTX>>16) & 0xFF);// crc TX_int[TX_len-2] = ((crcTX>>8) & 0xFF); // crc TX_int[TX_len-1] = ((crcTX) & 0xFF); // crc }; //////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////KS: var Cnt = 0; var Sum = 0; var Tmp1 = 0; var Tmp2 = 0; function KS(){ // Сброс Cnt = 0; Sum = 0; Tmp1 = 0; Tmp2 = 0;
// Цикл расчёта while (Cnt < KS_len) { // Tmp1 Tmp1 += Buf[Cnt]; if (Tmp1 > 0x00FE) { Tmp1 += 0xFF01; }; Tmp1 = Tmp1 & 0xFFFF; // Sum Sum += Tmp1; if (Sum > 0x00FE) { Sum += 0xFF01; }; Sum = Sum & 0xFFFF; // Следующий байт Cnt++; };
поэтому его слова и были Взяты за чистую монету. т.е ---скопировал ---вставилл---всё оно работает. ---------- ....ни хрено девки пляшут...
Всё верно. монета чище некуда. Его функция была вставлена в WinForms и она заработала. Девки, правда, не плясали, по крайней мере, не рядом со мной, а жаль...
не хочется обсуждать его дело , нехорошо это. но я обязан вам ответить , вот а то чтоHardWareMan писал: "О какой программе речь? как считается контролька?, я выдал ПРЯМО ГОТОВОЕ РЕШЕНИЕ - копипастить в исходник и поехали. О какой программе теперь речь " и понимается это "поехали" как вот вся программа она готовое решение а то что исходник нужен еще на 2 страницах обэтом я не предполагал. то что программисту 6 разряда кажется очевидным , не всегда даже и читаемо даже электронщику .
Последний раз редактировалось o90 Вт сен 02, 2025 14:20:53, всего редактировалось 1 раз.
"Как много нам открытий чудных, готовит просвещения дух..."
Глупых утверждений "никакая программа не нужна", наверное, теперь больше не будет.
_________________ Платы для HLDI - установки лазерной засветки фоторезиста. ФоторезистыOrdyl Alpha 350 и AM 140. Жидкое олово для лужения плат (видео) - самое лучшее и только у меня. Паяльная маска XV501T-4 и KSM-S6189 (5 цветов). Заказ печатных плат - pcbsmac@gmail.com
"Как много нам открытий чудных, готовит просвещения дух..."
Глупых утверждений "никакая программа не нужна", наверное, теперь больше не будет.
хорошо вот полный текст HardWareMan писал(а): О какой программе речь? Изначальная задача была понять как считается контролька, я выдал прям готовое решение - копипастить в исходник и поехали. О какой программе теперь речь в теме про контрольку? Тема должна быть закрыта, ибо она решена. 99 % людей прочитали бы именно так , что " Выдана полная программа." так я и цитировал и не в суе упомянутый HardWareMan не заслуживает эти посты обсуждения. я извиняюсь ( шляпы кончились, новых не сшили)
Последний раз редактировалось o90 Вт сен 02, 2025 14:34:17, всего редактировалось 1 раз.
_________________ Репозиторий STM32: https://cloud.mail.ru/public/2i19/Y4w8kKEiZ Актуальность репозитория: 1 сентября 2025 года Если чего-то не хватает с сайта st.com - пишите, докачаю.
ну так надо же аккуратно вставлять... а не как попало))
на типы переменных смотрим...
разные среды по разному "думают" )) браузер вообще по своему думает)) у него вообще всё автоматом)) и указатели я бы не использовал в СИ... можно и без них. указатели это вообще ассемблерная фишка)) там без них ничего работать не будет.
в остальном всё правильно.
далее... идёт оптимизация))
Спойлер
Код:
<!DOCTYPE html> <html> <head> <title>crc и КС</title> <h2>Расчёт crc и КС:</h2> </head> <body>
<script> //////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////Buf: var Buf = [ 0x00,0x00,0x00,0xC0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ]; var KS_len = 4; // KS_len var String; //////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////TX_int: var TX_int = [ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ]; var xTX = 0; // счёт xTX var TX_len = 12; // TX_len //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////crcTX: var crcTX = 0; var bcrcTX = 0; var aTX = 0; var bTX = 0; function fcrcTX(){ crcTX = 0xFFFFFFFF; for (bTX=0; bTX<(TX_len-4); bTX=bTX+4) { bcrcTX=TX_int[bTX]; bcrcTX=(bcrcTX<<8)|TX_int[bTX+1]; bcrcTX=(bcrcTX<<8)|TX_int[bTX+2]; bcrcTX=(bcrcTX<<8)|TX_int[bTX+3]; crcTX ^= bcrcTX; for( aTX = 0; aTX < 32; aTX++ ){ if ((crcTX & 0x80000000) != 0){crcTX = (crcTX << 1) ^ 0x04C11DB7;}//Eth. else {crcTX = (crcTX << 1);}; }; }; TX_int[TX_len-4] = ((crcTX>>24) & 0xFF);// crc TX_int[TX_len-3] = ((crcTX>>16) & 0xFF);// crc TX_int[TX_len-2] = ((crcTX>>8) & 0xFF); // crc TX_int[TX_len-1] = ((crcTX) & 0xFF); // crc }; //////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////KS: var Cnt = 0; var Sum = 0; var Tmp1 = 0; var Tmp2 = 0; function KS(){ // Сброс Cnt = 0; Sum = 0; Tmp1 = 0; Tmp2 = 0;
// Цикл расчёта while (Cnt < KS_len) { // Tmp1 Tmp1 += Buf[Cnt]; if (Tmp1 > 0x00FE) { Tmp1 += 0xFF01; }; Tmp1 = Tmp1 & 0xFFFF; // Sum Sum += Tmp1; if (Sum > 0x00FE) { Sum += 0xFF01; }; Sum = Sum & 0xFFFF; // Следующий байт Cnt++; };
И ОТГРЕМЕЛИ ГРОМКИЕ РАСКАТЫ И СОЛНЦЕ ВЫШЛО ИЗ ЗА ТУЧ, А ИСТИНА ХОТЬ НА 13 СТРАНИЦЕ НО ЧУДОМ ПОКАЗАЛА ВЕРНЫЙ ПУТЬ .. тестирование коротких кодов ОК. с длинными пока разбираюсь. вы убрали SIZE из оптимизированного варианта.
Вроде, 6 суток уже? У меня детишки за это время уже как раз писали похожую функцию, то есть, знали массивы и циклы.
Заголовок сообщения: расчет контрольной суммы (требуется помощь)СообщениеДобавлено: Сб авг 09, 2025 23:09:02 букварь программирования в изучении. но нет такой цели изучить программирование как отче наш. другая стезя. а обучение детей дело тонкое , а в современных условиях нет культа сэнсэя., еще сложней. и недопонимание вопрошающих, Вами, это беда скорее сенсея а не их.
Последний раз редактировалось o90 Вт сен 02, 2025 16:19:16, всего редактировалось 2 раз(а).
В экселе ему не нравится , а программировать он не умеет, эксель тоже не знает . Всем "помагателям" хамоватому халявщику - славу супер программиста вам стяжать не удастся (так себе задачка) , а проучить его стоит.
HardWareMan писал(а):
А разве такую обувь ещё носят в миру?
По моему это к обуви не имеет отношения, а имеет к шабаду , к бидонам с молоком и пятнице . Но могу ошибаться.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения