Подсчет разрядности числа.

Пользовательские блоки дополняющие возможности стандартных блоков из разделов Математика и Алгебра, а так-же различные цифровые фильтры
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Подсчет разрядности числа.

Сообщение aidar_i »

Считает количество цифр в числе без использования в коде строк. Может пригодится.
Разрядность числа.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Stranger
Рядовой
Сообщения: 84
Зарегистрирован: 08 фев 2021, 08:35
Имя: Дмитрий
Поблагодарили: 9 раз

Подсчет разрядности числа.

Сообщение Stranger »

Спасибо. Как раз необходимо для работы ключей активации
Аватара пользователя
Dryundel
Полковник
Сообщения: 2405
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Подсчет разрядности числа.

Сообщение Dryundel »

Задумка не плохая.
Вот только....
[ref=#ff8000]aidar_i[/ref], а попробуйте ка все то же самое пихнуть в новый редактор. :)
И вылезут все ваши ошибки.

Отправлено спустя 1 минуту 47 секунд:
Ну и вообще не дело с функциями в старый редактор.
Ибо в старом редакторе с функциями не комильфо.
Каждый экземпляр создает свою функцию.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 3 раза
Контактная информация:

Подсчет разрядности числа.

Сообщение Sancho »

Типа так делать нужно...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Подсчет разрядности числа.

Сообщение rw6cm »

[ref=#ff8000]aidar_i[/ref],
В вашем блоке есть ошибки.
Вы подаете на вход UL, а в функции int
результат не предсказуем.
Введите например число 45454545 и ответ вместо 8 будет 5
Да и алгоритм не очень удачный, если цифры будут отрицательные, или с плавающей точкой.
Мое предпочтение в другом алгоритме.
кол_цифр.png
Количество целых цифр в числе.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
Аватара пользователя
Phazz
Полковник
Сообщения: 3107
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 226 раз
Поблагодарили: 106 раз

Подсчет разрядности числа.

Сообщение Phazz »

Подскажите пожалуйста, а где это применяете?
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Подсчет разрядности числа.

Сообщение rw6cm »

[ref=#ff8000]Sancho[/ref],
Сань не прокатит,
В функции внутри выход заложен как глобальная переменная, следовательно к нему не прописывается индивидуальный индефикатор
надо функцию изменять.
как то так
Разрядность числа_1.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
Аватара пользователя
Dryundel
Полковник
Сообщения: 2405
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Подсчет разрядности числа.

Сообщение Dryundel »

Sancho писал(а): 04 мар 2023, 12:50 Типа так делать нужно...
Типа - Пора, брат, пора!...
Пора изучать новый редактор! :smile38:
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Подсчет разрядности числа.

Сообщение aidar_i »

Phazz писал(а): 04 мар 2023, 13:01 Подскажите пожалуйста, а где это применяете?
Мне понадобился для 7 сегментного индикатора для STM8S, в штатном подсчет ведется с помощью строки.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2405
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Подсчет разрядности числа.

Сообщение Dryundel »

rw6cm писал(а): 04 мар 2023, 12:52 Мое предпочтение в другом алгоритме.
[ref=#ff8000]rw6cm[/ref], десятичный логарифм для float отработает только целую часть. Пример не совсем корректен.
.
.
Кароч. Как не крути, а String самый корректный универсальный инструмент в данном вопросе. :)
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 3 раза
Контактная информация:

Подсчет разрядности числа.

Сообщение Sancho »

rw6cm писал(а): 04 мар 2023, 13:08 Sancho,
Сань не прокатит,
В функции внутри выход заложен как глобальная переменная, следовательно к нему не прописывается индивидуальный индефикатор
надо функцию изменять.
[ref=#ff8000]rw6cm[/ref], [ref=#ff8000]Dryundel[/ref], Уважаемые коллеги.
А нажать на кнопку и посмотреть полученный код - не, не судьба?

Отправлено спустя 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 раз

Подсчет разрядности числа.

Сообщение Dryundel »

[ref=#ff8000]aidar_i[/ref], соглашусь, есть случаи, такие как с STM8S String не уместен. Но по функции для каждого экземпляра, тоже не айс. Ну и как правильно заметил [ref=#ff8000]rw6cm[/ref], использование в функции глобальной переменной далеко не всегда обосновано. Может не хорошо откликнуться. Тем более, что функция у тебя ничего не возвращает. Точней возвращает но в никуда. Можно было return из нее вообще выкинуть. Но еще раз - такой вариант не корректен.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 3 раза
Контактная информация:

Подсчет разрядности числа.

Сообщение Sancho »

О типе подаваемого на вход речь не вёл.
Идея была для
Dryundel писал(а): 04 мар 2023, 10:47 Каждый экземпляр создает свою функцию.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2405
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Подсчет разрядности числа.

Сообщение Dryundel »

Sancho писал(а): 04 мар 2023, 14:13 А нажать на кнопку и посмотреть полученный код - не, не судьба?
Да кто бы сомневался. Работать будет. Но нафига два блока вместо одного? :) Редактор PRO - сила!
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Подсчет разрядности числа.

Сообщение aidar_i »

Я и не планировал использовать более одного блока. Хотел в штатный вставить ,заменить , но не получился.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Подсчет разрядности числа.

Сообщение rw6cm »

Dryundel писал(а): 04 мар 2023, 14:02 rw6cm, десятичный логарифм для float отработает только целую часть. Пример не совсем корректен.
Здесь имелось ввиду что можно через float считать 38 разрядные целые числа.
Win10-64, FLProg (portable)
Аватара пользователя
Nikan
Майор
Сообщения: 1194
Зарегистрирован: 29 дек 2016, 00:49
Откуда: москва

Подсчет разрядности числа.

Сообщение Nikan »

.
Последний раз редактировалось Nikan 24 мар 2023, 02:46, всего редактировалось 1 раз.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Подсчет разрядности числа.

Сообщение aidar_i »

Nikan писал(а): 04 мар 2023, 14:40
aidar_i писал(а): 04 мар 2023, 13:56
Phazz писал(а): 04 мар 2023, 13:01 Подскажите пожалуйста, а где это применяете?
Мне понадобился для 7 сегментного индикатора для STM8S, в штатном подсчет ведется с помощью строки.
а нафига для 7ми сегментника вообще считать разрядность ? - разбил переменную на ед\десятки\сотни\тысячи... и познаково вывел на дисплей
Я хотел штатный блок изменить, там идёт подсчёт разрядность.
Аватара пользователя
Nikan
Майор
Сообщения: 1194
Зарегистрирован: 29 дек 2016, 00:49
Откуда: москва

Подсчет разрядности числа.

Сообщение Nikan »

.
Последний раз редактировалось Nikan 24 мар 2023, 02:46, всего редактировалось 1 раз.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Подсчет разрядности числа.

Сообщение rw6cm »

Sancho писал(а): 04 мар 2023, 14:13 Отправлено спустя 36 секунд:
int DigitCountGeniusIgnat(int number)
Тип параметра функции тоже надо менять на UL
Айдар сделал имена параметров и переменных в функции одинаковыми с объявленными переменными.
Флпрог естественно вставил глобальные переменные напрямую в функции. Это прокатило.
Но стоит сделать блок в его примере выполняемый только раз в проекте (должно все работать т.к. блок в примере один)
и он не правильно начинает считать ))
Win10-64, FLProg (portable)
Ответить

Вернуться в «Блоки для рассчетов и цифровые фильтры»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя