А на выходе макроса разве не должно быть одно слово(32бит) ,а то у вас 4 (по 8бит)???:confused: :rolleyes: Их ,наверное нужно обьединить определенным образом .
Или все же нужно 4 слова???
Вид для печати
это я для наглядности развел, а так то UTF-16 занимает 2 байта и соответственно одно слово (регистр)
открыл проект, не совсем так надо объединять. Байт равный нулю в обычной кодировке типа 1251, в юникоде тоже будет равен нулю, а у Вас там ограменное число. Это потому что Вы сложили значение байта равное 48, что в обычном представлении обозначает цифру ноль, а если бы значение было равно 65 и выше, то это была бы буква А, что в шестнадцатиричном виде соответствовало 10
ЗЫ а как насчет упрощения самих макросов, может есть что оптимизировать
Ну так и надо сделать как надо 16бит ,для правильности ,а не наглядности ,однако
значит на1 символ ASCI вы будите отправлять 4 слова :confused: :rolleyes: .Вам виднее.;)
Еще раз повторю, если заявленный мастер модбас будет реализован программно, а не аппаратно, значит чисто гипотетически может появиться возможность самостоятельно отправлять данные в порт и тогда потребность в регистрах, как сейчас у меня сделано ( для наглядности ), отпадет. Мне нужны будут просто четыре байта на один аскии символ
Насчет сообщения об ошибке... проверьте, вроде не должно быть...
http://ftp-ow.owen.ru/softupdate/Upl...ild46_beta.exe
Ну а насчет Редактора, то можно для начала хотя бы один проект, который не экспортируется... Посмотрим... :-)
да ,он то же самое говорит:D
Да, в данном случае транспоранта достаточно... К сожалению, этот элемент действительно не поддерживает экспорт. Было принято решение вообще со временем отказаться от него. В OL он существует только из-за поддержки старых проектов, но в Редакторе его нет... Данный компонент для работы с Редактором следует заменить на другие счетчики.
Так тут от времени не зависит .Или пошло или не пошло:D :D :D ;) :) :p .
задача от Acronis, цитирую: "напишите метод, который будет подсчитывать количество цифр 2, используемых в записи чисел от 0 до n включительно"
Примечательно, что после двух вариантов идет комментарий что задача требует тщательного тестирования, т.е. сами не уверены в правильности своих решений. Может будет интересно попробовать решить её на пр.
А ряд то чисел 0,1,2,3,4,5,6,7,8,9,10,11,12.....n????Это к AI:)
Да не ,просто он очень любит целочисленную арифметику и комбинаторику .А что эта задача не имеет решения в общем виде?И зачем ее решать на ПР ?? Подобная задача(решение) демонстрирует уровень интеллекта человека, а не возможности оборудования .
ну вопервых это один из вариантов сжатия, не говорю что оптимальный и тем неменее. Во вторых, если например порядок до 99, то всплеск совпадений с искомой цифрой будет разным от начала перебора при соответствующей цифре, потому можно соорудить некий генератор с плавающим временем
а зачем перебор ,когда ,наверно формулу можно состряпать.Перебор по проще ,но дольше
на олимпиаде по информатике, на которой я победил в 93 году, была подобная задача
(сложнее, но суть такая же)
задача имеет 2 решения:
1) "в лоб" перебирать все числа, и считать цифры,
2) подумать, что бы время получения ответа было пропорционально не N а lg(N)
вам какое решение?
UPD не заметил, что уже есть обсуждение на след. странице.
вот, 2 решения
одно полным перебором, причём даже цифры в одном числе перебирает.
и второй вариант - результат за один цикл ПР
PS как всегда - оба варианта работают во всём диапазоне допустимых значений.
А у меня ,что то лишнее считает .До100 -19 двоек ,2,12,20,21,22,23,24,25,26,27,28,29,32,42,52,62,72 ,82,92 ,а не 20???
у АИ где то прозвучало что в каком то варианте все двойки считает на всех зналоместах, значит Вы не тот вариант попробовали
не понял, 22 считать за одну 2ку или всё же за две?
PS фраза про перебор разрядов, которая вас смутила, была про то, что напр. 6ти разрядное число ПР проверяет 6 циклов, а не за один.
PPS второй вариант алгоритма выдаёт такой же результат как и первый, т.е. напр. одно число 222, оба варианта посчитают за "три двойки".
УСЕ понял .Тогда получается формула N(2) =LOg(M)*М/10 ,где N2-количество двоек ,М- число ,максим. диапазона.Правда верна для М =10,100,1000,10000,100000,1000000......... ,а как для любого числа?
А для любого числа M есть формула?
всем кто отключал автообновление - советую включить его взад
это значит "наоборот"
"наоборот" то того как "выключали"