|
8 / 8 / 2
Регистрация: 24.11.2020
Сообщений: 80
|
|||||||||||
Перевод полутора десятков строк с Питона на Free Basic11.02.2023, 00:26. Показов 8479. Ответов 50
Метки нет (Все метки)
Здравствуйте.
Хочу в бейсике повторить программу написанную на питоне. Не уверен, что стоит погружаться в изучение последнего, ради пятнадцати строк. Приведу ниже всю программу и начну с малого ... надеюсь постепенно, с вашей помощью осилить эту непростую задачу. Заранее спасибо. Вот вся программа, ниже будет код, который хочется разобрать первым, иначе я не осилю сразу всей этой информации:
- создаётся цикл на 256 итераций, но не понимаю, почему нет закрывающего оператора NEXT, как и END IF в ниже следующих условиях - далее условие, если sk &, красным непонятное, что делает этот оператор? 1 << i это как я понял сдвиг влево на i раз, фактически умножение i раз на 2. Т.е. я не понимаю в чем заключается условие. - далее, как я понял, если в первой итерации, то ret не определён, присваиваем ему G - после else идем в процедуру, которая тоже вызывает множество вопросов - далее все ясно Главный вопрос в этом кусочке кода, тут - if sk & (1 << i), это что, логическое И с 1 << i, не понимаю, какой смысл условия .....
1
|
|||||||||||
| 11.02.2023, 00:26 | |
|
Ответы с готовыми решениями:
50
Перевод решенной задачи с Free Basic на Turbo Pascal Библиотека для Free Basic, аналог функций Pure Basic Перевод из питона |
|
8 / 8 / 2
Регистрация: 24.11.2020
Сообщений: 80
|
||
| 01.04.2023, 15:31 [ТС] | ||
|
Большое спасибо, программа с фибоначами работает, а вот где скачать эту бигинт библиотеку, я так и не понял ....
0
|
||
|
16 / 16 / 0
Регистрация: 10.04.2022
Сообщений: 16
|
||
| 01.04.2023, 16:02 | ||
|
Или вот. Распаковать в папку inc компилятора.
1
|
||
|
8 / 8 / 2
Регистрация: 24.11.2020
Сообщений: 80
|
|
| 01.04.2023, 16:16 [ТС] | |
|
0
|
|
|
16 / 16 / 0
Регистрация: 10.04.2022
Сообщений: 16
|
|
| 01.04.2023, 16:27 | |
|
И файл библиотеки libbig_int.a положить в папку lib\win32 (увы, только 32-х разрядной версии компилятора) Поэтому, Python и шустрит...
1
|
|
|
8 / 8 / 2
Регистрация: 24.11.2020
Сообщений: 80
|
||
| 01.04.2023, 16:43 [ТС] | ||
|
Библиотеку положил в папку INC
0
|
||
|
8 / 8 / 2
Регистрация: 24.11.2020
Сообщений: 80
|
||
| 01.04.2023, 16:50 [ТС] | ||
|
Добавлено через 4 минуты А где описание доступных действий, умножение, деление, сложение например ?
0
|
||
|
16 / 16 / 0
Регистрация: 10.04.2022
Сообщений: 16
|
|
| 01.04.2023, 17:00 | |
|
В заголовочных файлах *.bi смотрите названия функций и типы ...
И тут, читайте (описание для Си, но оно, в принципе, тоже самое, просто в библиотеке для Freebasic функции начинаются с префикса big_int_) : http://zonakoda.ru/dlinnaya-ar... g_int.html
1
|
|
|
16 / 16 / 0
Регистрация: 10.04.2022
Сообщений: 16
|
||
| 01.04.2023, 17:22 | ||
|
------------ Вот ещё один вариант библиотеки big_int для Frebasic без статической библиотеки... как быстро работает, не знаю, но работает и с х64... https://github.com/stephanbrunker/big_integer Скачать, распаковать, скомпилировать пример.
0
|
||
|
8 / 8 / 2
Регистрация: 24.11.2020
Сообщений: 80
|
||||||||||||
| 01.04.2023, 21:03 [ТС] | ||||||||||||
|
Добавлено через 3 часа 10 минут Вот кусок кода для возведения числа в степень. А как сделать чтоб умножал число на число не пойму ? В файле big_int.bi есть строка OP_MUL, т.е. в тексте программы (ниже) надо вместо функции OP_POW поставить OP_MUL. Но как в неё засунуть значения я не нашел, замена названия функции приводит к зависанию.
Простите, нашел где указано какие параметры и сколько передавать функции. Заработало умножение. Сейчас сравню его скорость с уже имеющимся. Добавлено через 14 минут Ха-ха, большие числа не передаются в функцию =) Нужно перемножить: aa1 = "550662630222773436695787188951685343262 50603453777594175500187360389116729240" аa2 = "326705100207588169780830851305070431844 71273380659243275938904335757337482424" Как бы их запихнуть в функцию умножения ? Даже половина не пропихивается в функцию ...
0
|
||||||||||||
|
16 / 16 / 0
Регистрация: 10.04.2022
Сообщений: 16
|
|||||||||||||||||||||
| 02.04.2023, 06:52 | |||||||||||||||||||||
|
Нельзя передать большие числа сразу в функцию, их вначале надо конвертировать из строк.
Как-то так...
Result = 1799042897875052654876847933094325163654 2174312905259406364010291621640 8207688780404496083242878040466332545330 7182565349415892761361856900131682866877 760 Добавлено через 42 минуты Вроде бы, работает... Компилятор может выдать предупреждение (там я с типами что-то напутал), но скомпилирует... просто, надо глубже вникнуть... Добавлено через 2 часа 27 минут Увы эта библиотека стара, слишком сложна и плохо документирована. Попробуйте вторую библиотеку с Github. Она гораздо проще и лучше документирована... ничего особо выдумывать не нужно... там все операторы перегружены для работы с большими целыми числами. Программировать, благодаря этому не сложнее чем на Python. Единственное, надо следить за типами переменных. https://github.com/stephanbrunker/big_integer Пример:
Добавлено через 11 минут Результат: +179904289787505265487684793309432516365 4217431290525940636401029162164082076887 8040449608324287804046633254533071825653 49415892761361856900131682866877760 +115792089237316195423570985008687907853 269984665640564039457584007913129639936 Добавлено через 15 минут Еще примеры: Python
1
|
|||||||||||||||||||||
|
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
|
|
| 02.04.2023, 06:56 | |
|
0
|
|
|
16 / 16 / 0
Регистрация: 10.04.2022
Сообщений: 16
|
|
| 02.04.2023, 06:59 | |
|
0
|
|
|
Супер-модератор
|
|
| 02.04.2023, 07:29 | |
|
Если речь - об арифметике на символьных строках (главное достоинство - не нужен перевод в печатную форму; главный недостаток - низкая производительность), то вот моя реализация такой арифметики: Перевод 256 битного HEX числа в десятичный вид
2
|
|
|
8 / 8 / 2
Регистрация: 24.11.2020
Сообщений: 80
|
||||||||
| 02.04.2023, 11:52 [ТС] | ||||||||
Добавлено через 1 минуту Разгребусь с работой, буду пробовать.
0
|
||||||||
|
16 / 16 / 0
Регистрация: 10.04.2022
Сообщений: 16
|
|
| 02.04.2023, 12:04 | |
|
Если надо шустрые вычисления, то лучше использовать библиотеку gmp https://gmplib.org
Успехов! Вот для Freebasic со статической библиотекой:
2
|
|
|
8 / 8 / 2
Регистрация: 24.11.2020
Сообщений: 80
|
||
| 02.04.2023, 14:40 [ТС] | ||
|
1
|
||
|
8 / 8 / 2
Регистрация: 24.11.2020
Сообщений: 80
|
||
| 14.10.2023, 18:41 [ТС] | ||
|
Оказывается я с гитхаба не умею ставить библиотеки. Я не понимаю как её от туда скачать, всё перерыл, нет кнопки скачать библиотеку (((((((((((((( И как в бейсике к ней путь прописывать ? Добавлено через 2 часа 12 минут Чудом нашел кнопку скачивания, надо же было так её засунуть.
0
|
||
|
COM‐пропагандист
|
||||||||
| 14.10.2023, 23:01 | ||||||||
1
|
||||||||
| 14.10.2023, 23:01 | |
|
Перевод с питона в с++
Перевод из Питона на С++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|