Работа с большими числами
-
- interested
- Сообщения: 7
- Зарегистрирован: 26 май 2020, 17:03
- Версия LabVIEW: 16
Работа с большими числами
Помогите пожалуйста
Нужно создать программу, выполняющую следующее:
1) Преобразовать две строки, в которую входят только цифры в массивы цифр.
2) Найти сумму.
3) Найти произведение.
Необходимо провести проверку на правильность ввода пользователем значений в строки и обеспечить выполнение программы в случае превышения максимально допустимых числовых значений в labview
Нужно создать программу, выполняющую следующее:
1) Преобразовать две строки, в которую входят только цифры в массивы цифр.
2) Найти сумму.
3) Найти произведение.
Необходимо провести проверку на правильность ввода пользователем значений в строки и обеспечить выполнение программы в случае превышения максимально допустимых числовых значений в labview
Последний раз редактировалось AbsoluteZero 27 май 2020, 13:30, всего редактировалось 1 раз.
-
IvanLis
- guru
- Сообщения: 5463
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 86 раз
Re: Работа с большими числами
Посмотрите: http://www.labviewportal.org/viewtopic. ... 669#p52669AbsoluteZero писал(а): ↑26 май 2020, 17:09В данном задании необходимо производить математические операции над большими числами (больше, чем позволяют использовать числовые типы), например над числами сорокового порядка.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- interested
- Сообщения: 7
- Зарегистрирован: 26 май 2020, 17:03
- Версия LabVIEW: 16
Re: Работа с большими числами
да, видела это, но не совсем поняла как работают данные функции, там на вход подаётся булевая переменная и на выходе такая же, мне нужно выходе получить числоIvanLis писал(а): ↑26 май 2020, 17:22 Посмотрите: http://www.labviewportal.org/viewtopic. ... 669#p52669
-
- professor
- Сообщения: 3403
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация:
Re: Работа с большими числами
вспоминайте школу. И как учили, в столбик :)AbsoluteZero писал(а): ↑26 май 2020, 17:09 В данном задании необходимо производить математические операции над большими числами
Можно десятичными знаками оперировать, можно двоичными.
-
- interested
- Сообщения: 7
- Зарегистрирован: 26 май 2020, 17:03
- Версия LabVIEW: 16
-
- professor
- Сообщения: 3403
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация:
Re: Работа с большими числами
я, конечно, извиняюсь, но что это за дичь?AbsoluteZero писал(а): ↑26 май 2020, 19:35 вот что я сделала, но работает не верно. в чем может быть ошибка
если у вас разрядность не позволяет хранить числа как числа, то какой смысл строку в число сразу гнать?
Но это ещё ладно.
зачем сортировать массивы???
вы при сложении столбиком сначала цифры в порядке возрастания записываете?
-
- professor
- Сообщения: 3403
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация:
Re: Работа с большими числами
Вот вам два варианта перевода строки в десятичные разряды
Дальше уж самостоятельно. Только не надо сортировать эти массивы
.Дальше уж самостоятельно. Только не надо сортировать эти массивы
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Работа с большими числами
Если я правильно понял задание, то должно быть так
первые два цикла создают массивы цифр. Если ошибок нет, то размеры выравниваются по максимально длинному числу + 1, если будет перенос разряда самого последнего сложения. Сложения по-цифрово, с переносом разряда переполнения на следующую итерацию. Если последнего переноса не было, то сборка в строку производится без последнего разряда.
первые два цикла создают массивы цифр. Если ошибок нет, то размеры выравниваются по максимально длинному числу + 1, если будет перенос разряда самого последнего сложения. Сложения по-цифрово, с переносом разряда переполнения на следующую итерацию. Если последнего переноса не было, то сборка в строку производится без последнего разряда.
Последний раз редактировалось Borjomy_1 26 май 2020, 20:27, всего редактировалось 2 раза.
-
- interested
- Сообщения: 7
- Зарегистрирован: 26 май 2020, 17:03
- Версия LabVIEW: 16
-
- beginner
- Сообщения: 35
- Зарегистрирован: 29 сен 2010, 14:00
- Версия LabVIEW: 2013
- Контактная информация:
Re: Работа с большими числами
Вот ещё вариант. Его же можно использовать как SubVI для умножения
Добавил умножение. Для умножения нужен SubVI сложения.
Добавил умножение. Для умножения нужен SubVI сложения.
- Вложения
-
- add_long_num.vi
- (17.56 КБ) 83 скачивания
-
- mux_long_num.vi
- (17.44 КБ) 93 скачивания
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 16 Ответы
- 3257 Просмотры
-
Последнее сообщение Artem.spb
-
- 4 Ответы
- 219 Просмотры
-
Последнее сообщение Andrew Lunev