Segnetics

Вернуться   Segnetics > Форум Segnetics > SMLogix

SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.03.2019, 16:57   #1
VaBo
Senior Member
 
Регистрация: Apr 2012
Сообщения: 111
Благодарил(а): 2 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Разложить число на множители (решено)

Коллеги, кто-то делал подобное?
Поясню, на входе имеем INT 32746 (к примеру), на выходе желаю получить 3,2,7,4,6 в разных регистрах. Это не ASCII, конечно, но, думаю, понятно.
На С за 5 минут наваял бы, на FBD начал было, но прикинул сколько циклов это должно занять и погрустнел.
Может какой алгоритм похитрее есть (вроде что-то припоминается, но не нашел)?

Для чего - на экране нужно выводить число крупными красивыми цифрами, стандартые шрифты больно корявые, хочу картинками.
VaBo вне форума   Ответить с цитированием
Старый 27.03.2019, 17:08   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: проебразование BCD-ASCII

Цитата
Сообщение от VaBo Посмотреть сообщение
Коллеги, кто-то делал подобное?
Поясню, на входе имеем INT 32746 (к примеру), на выходе желаю получить 3,2,7,4,6 в разных регистрах. Это не ASCII, конечно, но, думаю, понятно.
На С за 5 минут наваял бы, на FBD начал было, но прикинул сколько циклов это должно занять и погрустнел.
Может какой алгоритм похитрее есть (вроде что-то припоминается, но не нашел)?

Для чего - на экране нужно выводить число крупными красивыми цифрами, стандартые шрифты больно корявые, хочу картинками.
Какие, нафиг, циклы))

32746 делите на 10000, получаете первую цифру. Умножаете её на 10000 и вычитаете из исходного числа.

Далее 1000, 100, 10. Все 5 цифр ваши. От С не отличается абсолютно ничем даже по количеству операций. Разве что в С можно пригрузить процессор ненужным циклом и лишним умножением.


PS. BCD - это совсем другая штука.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 27.03.2019, 17:19   #3
VaBo
Senior Member
 
Регистрация: Apr 2012
Сообщения: 111
Благодарил(а): 2 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Разложить число на множители (решено)

Нда-с, это я притупил чегой-то...
Спасибо.
А штатные шрифты все равно плохие, да и для вывода чисел всего два варианта.
VaBo вне форума   Ответить с цитированием
Старый 27.03.2019, 17:23   #4
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Разложить число на множители (решено)

Цитата
Сообщение от VaBo Посмотреть сообщение
А штатные шрифты все равно плохие, да и для вывода чисел всего два варианта.
Контроллер-то хоть какой?


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 27.03.2019, 17:38   #5
VaBo
Senior Member
 
Регистрация: Apr 2012
Сообщения: 111
Благодарил(а): 2 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Разложить число на множители (решено)

SMH2G

PS. BCD - это совсем другая штука.

"Разложение на множители" тоже немного не то...

Последний раз редактировалось VaBo, 27.03.2019 в 18:00
VaBo вне форума   Ответить с цитированием
Старый 27.03.2019, 18:21   #6
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Разложить число на множители (решено)

Цитата
Сообщение от VaBo Посмотреть сообщение
SMH2G

PS. BCD - это совсем другая штука.

"Разложение на множители" тоже немного не то...
Да, не то, но гораздо ближе к истине)


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 27.03.2019, 18:24   #7
VaBo
Senior Member
 
Регистрация: Apr 2012
Сообщения: 111
Благодарил(а): 2 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Разложить число на множители (решено)

Цитата:
Сообщение от Arsie Посмотреть сообщение
Да, не то, но гораздо ближе к истине)
Написал уже, кстати.
Гашение незначащих нулей гораздо больше сожрало, чем само преобразование.
VaBo вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Число Real: уменьшить кол-во знаков после запятой dima Вопросы о программировании 4 01.06.2017 20:50
Вопрос по Работе блока Sub(real) (решено) lampigas SMLogix 7 20.08.2015 16:59
Не могу компьютером прочесть переменные с Pixel (решено) Vorgehen Связь с внешним миром 8 10.04.2014 08:34


Часовой пояс GMT +4, время: 20:08.


Версия vBulletin: 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2023