Подсчет разрядности числа.
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
-
- Полковник
- Сообщения: 3357
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 12 раз
- Поблагодарили: 100 раз
- Контактная информация:
Подсчет разрядности числа.
Считает количество цифр в числе без использования в коде строк. Может пригодится.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Dryundel
- Полковник
- Сообщения: 2405
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Поблагодарили: 15 раз
Подсчет разрядности числа.
Задумка не плохая.
Вот только....
[ref=#ff8000]aidar_i[/ref], а попробуйте ка все то же самое пихнуть в новый редактор.
И вылезут все ваши ошибки.
Отправлено спустя 1 минуту 47 секунд:
Ну и вообще не дело с функциями в старый редактор.
Ибо в старом редакторе с функциями не комильфо.
Каждый экземпляр создает свою функцию.
Вот только....
[ref=#ff8000]aidar_i[/ref], а попробуйте ка все то же самое пихнуть в новый редактор.

И вылезут все ваши ошибки.
Отправлено спустя 1 минуту 47 секунд:
Ну и вообще не дело с функциями в старый редактор.
Ибо в старом редакторе с функциями не комильфо.
Каждый экземпляр создает свою функцию.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 3 раза
- Контактная информация:
Подсчет разрядности числа.
Типа так делать нужно...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
Подсчет разрядности числа.
[ref=#ff8000]aidar_i[/ref],
В вашем блоке есть ошибки.
Вы подаете на вход UL, а в функции int
результат не предсказуем.
Введите например число 45454545 и ответ вместо 8 будет 5
Да и алгоритм не очень удачный, если цифры будут отрицательные, или с плавающей точкой.
Мое предпочтение в другом алгоритме.
В вашем блоке есть ошибки.
Вы подаете на вход UL, а в функции int
результат не предсказуем.
Введите например число 45454545 и ответ вместо 8 будет 5
Да и алгоритм не очень удачный, если цифры будут отрицательные, или с плавающей точкой.
Мое предпочтение в другом алгоритме.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
Подсчет разрядности числа.
[ref=#ff8000]Sancho[/ref],
Сань не прокатит,
В функции внутри выход заложен как глобальная переменная, следовательно к нему не прописывается индивидуальный индефикатор
надо функцию изменять.
как то так
Сань не прокатит,
В функции внутри выход заложен как глобальная переменная, следовательно к нему не прописывается индивидуальный индефикатор
надо функцию изменять.
как то так
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
- Dryundel
- Полковник
- Сообщения: 2405
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Поблагодарили: 15 раз
-
- Полковник
- Сообщения: 3357
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 12 раз
- Поблагодарили: 100 раз
- Контактная информация:
Подсчет разрядности числа.
Мне понадобился для 7 сегментного индикатора для STM8S, в штатном подсчет ведется с помощью строки.
- Dryundel
- Полковник
- Сообщения: 2405
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Поблагодарили: 15 раз
Подсчет разрядности числа.
[ref=#ff8000]rw6cm[/ref], десятичный логарифм для float отработает только целую часть. Пример не совсем корректен.
.
.
Кароч. Как не крути, а String самый корректный универсальный инструмент в данном вопросе.

- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 3 раза
- Контактная информация:
Подсчет разрядности числа.
[ref=#ff8000]rw6cm[/ref], [ref=#ff8000]Dryundel[/ref], Уважаемые коллеги.rw6cm писал(а): 04 мар 2023, 13:08 Sancho,
Сань не прокатит,
В функции внутри выход заложен как глобальная переменная, следовательно к нему не прописывается индивидуальный индефикатор
надо функцию изменять.
А нажать на кнопку и посмотреть полученный код - не, не судьба?
Отправлено спустя 3 минуты 11 секунд:
Сорян, результат функции не объявил тип.
Отправлено спустя 36 секунд:
int DigitCountGeniusIgnat(int number)
{
int result = 0; ///////////////////////////// int
while (number != 0)
{
number /= 10;
result++;
}
return result;
}
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
- Dryundel
- Полковник
- Сообщения: 2405
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Поблагодарили: 15 раз
Подсчет разрядности числа.
[ref=#ff8000]aidar_i[/ref], соглашусь, есть случаи, такие как с STM8S String не уместен. Но по функции для каждого экземпляра, тоже не айс. Ну и как правильно заметил [ref=#ff8000]rw6cm[/ref], использование в функции глобальной переменной далеко не всегда обосновано. Может не хорошо откликнуться. Тем более, что функция у тебя ничего не возвращает. Точней возвращает но в никуда. Можно было return из нее вообще выкинуть. Но еще раз - такой вариант не корректен.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 3 раза
- Контактная информация:
Подсчет разрядности числа.
О типе подаваемого на вход речь не вёл.
Идея была для
Идея была для
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
- Dryundel
- Полковник
- Сообщения: 2405
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Поблагодарили: 15 раз
Подсчет разрядности числа.
Да кто бы сомневался. Работать будет. Но нафига два блока вместо одного?

-
- Полковник
- Сообщения: 3357
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 12 раз
- Поблагодарили: 100 раз
- Контактная информация:
Подсчет разрядности числа.
Я и не планировал использовать более одного блока. Хотел в штатный вставить ,заменить , но не получился.
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
Подсчет разрядности числа.
Здесь имелось ввиду что можно через float считать 38 разрядные целые числа.Dryundel писал(а): 04 мар 2023, 14:02 rw6cm, десятичный логарифм для float отработает только целую часть. Пример не совсем корректен.
Win10-64, FLProg (portable)
Подсчет разрядности числа.
.
Последний раз редактировалось Nikan 24 мар 2023, 02:46, всего редактировалось 1 раз.
-
- Полковник
- Сообщения: 3357
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 12 раз
- Поблагодарили: 100 раз
- Контактная информация:
Подсчет разрядности числа.
Я хотел штатный блок изменить, там идёт подсчёт разрядность.Nikan писал(а): 04 мар 2023, 14:40а нафига для 7ми сегментника вообще считать разрядность ? - разбил переменную на ед\десятки\сотни\тысячи... и познаково вывел на дисплей
Подсчет разрядности числа.
.
Последний раз редактировалось Nikan 24 мар 2023, 02:46, всего редактировалось 1 раз.
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
Подсчет разрядности числа.
Тип параметра функции тоже надо менять на ULSancho писал(а): 04 мар 2023, 14:13 Отправлено спустя 36 секунд:
int DigitCountGeniusIgnat(int number)
Айдар сделал имена параметров и переменных в функции одинаковыми с объявленными переменными.
Флпрог естественно вставил глобальные переменные напрямую в функции. Это прокатило.
Но стоит сделать блок в его примере выполняемый только раз в проекте (должно все работать т.к. блок в примере один)
и он не правильно начинает считать ))
Win10-64, FLProg (portable)
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя