2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Есть ли в C++ встроенная арифетика выше long long?
Сообщение27.10.2022, 14:04 
Аватара пользователя


05/06/08
477
Собственно, сабж. Уточняю, что арифметика целочисленная. Работаю в MS VS 2019. Может есть библиотеки.
Просто написал прогу для рациональных чисел (самопальные), а знаменатели не некотором шаге (даже после сокращения) выходят за рамки int.
Что делает в принципе невозможным дальнейшую арифметику на множестве long long.

 Профиль  
                  
 
 Re: Есть ли в C++ встроенная арифетика выше long long?
Сообщение27.10.2022, 14:29 


03/10/06
826
BigInteger Class от MS гугли, как подключить?

 Профиль  
                  
 
 Re: Есть ли в C++ встроенная арифетика выше long long?
Сообщение27.10.2022, 14:57 
Заслуженный участник
Аватара пользователя


16/07/14
9151
Цюрих
Встроенной нет. Библиотеки есть. Кроме упомянутого выше изделия от MS есть GNU MP, в которой сразу рациональные числа с произвольно большими числителями и знаменателями поддерживаются. И наверняка еще куча всего, но в GNU MP точно хорошая реализация (хотя и не очень приятный интерфейс местами).

 Профиль  
                  
 
 Re: Есть ли в C++ встроенная арифетика выше long long?
Сообщение27.10.2022, 17:10 


31/08/22
183
В Boost есть Multiprecision
https://github.com/boostorg/multiprecision?ysclid=l9r4zfvtes76159371

 Профиль  
                  
 
 Re: Есть ли в C++ встроенная арифетика выше long long?
Сообщение27.10.2022, 18:00 
Аватара пользователя


05/06/08
477
Всем спасибо, буду разбираться.

 Профиль  
                  
 
 Re: Есть ли в C++ встроенная арифетика выше long long?
Сообщение27.10.2022, 20:12 
Аватара пользователя


05/06/08
477
Не знаю, насколько эта проблема кому-то интересна, но в интернетах наткнулся на самописный С++ класс русскоязычного умельца
https://habr.com/ru/post/172285/
Спасибо неизвестному прогеру.
Мне такого класса вполне. Покрайней мере факториал 100 считает.
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
А значит и мою проблемку должен проглотить.

 Профиль  
                  
 
 Re: Есть ли в C++ встроенная арифетика выше long long?
Сообщение28.10.2022, 19:05 


31/08/22
183
В таком случае посмотрите и сюда.
Есть такая группа
https://stdcpp.ru/
Они предлагают внести в стандарт вот это
https://github.com/cerevra/int/tree/master/v3
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p0539r5.pdf

 Профиль  
                  
 
 Re: Есть ли в C++ встроенная арифетика выше long long?
Сообщение28.10.2022, 22:07 
Аватара пользователя


28/10/21
100
MGM в сообщении #1567941 писал(а):
Собственно, сабж. Уточняю, что арифметика целочисленная. Работаю в MS VS 2019. Может есть библиотеки.


Встроенной нет. Некоторые компиляторы (читай: GCC) предоставляют встроенную поддержку для __int128 (включая unsigned __int128).

Через Boost.Multiprecision все это делается в две строчки.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group