• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Większe zmienne od long long w C++

Object Storage Arubacloud
+1 głos
1,216 wizyt
pytanie zadane 23 października 2020 w C i C++ przez Amunius Początkujący (280 p.)
Witam,
Czy jest jakaś biblioteka która pozwala tworzyć zmienne, które posiadają wybraną liczbe bajtów? To znaczy, że gdy typ int zajmuje 4 bajty, to czy istnieje jakaś biblioteka która potrafi stworzyć zmienną na przykład 1000 bajtów?
1
komentarz 23 października 2020 przez NewEraOfPeace Gaduła (4,790 p.)

Potrzebujesz przechować dużą liczbę, czy po prostu tak se pomyślałeś, że takiej potrzebujesz, a tak naprawdę efektywnie chcesz przetworzyć jakieś działania? Śmierdzi trochę jak XY problem

komentarz 23 października 2020 przez Amunius Początkujący (280 p.)
Tak tylko pomyślałem co mają zrobić osoby które potrzebują tak ogromnych liczb ;)
komentarz 23 października 2020 przez manjaro Nałogowiec (37,390 p.)
A po co komu liczyć takie liczby? W praktyce chyba nie ma takiej potrzeby.

4 odpowiedzi

+1 głos
odpowiedź 23 października 2020 przez Piotr Batko Stary wyjadacz (13,190 p.)

Jest wiele takich bibliotek. Wpisz w google: big integer c++ library

0 głosów
odpowiedź 23 października 2020 przez Wiciorny Ekspert (269,710 p.)

Generalnie nie ma czegoś takiego, schemat wartości jest taki: 
What is wrong in the following C++ statement: long float x? - Quora
- natomiast są algorytmiczne metody zapisania dużo większych liczb, taki temat tu sie juz pojawił nawet ja w nim odpowiadałem. 
- chodzi o zapisanie np w tablicy kolejności liczbowych [ dla potęg potwornie wielkich lub asymptotycznie ogromnych wzrostów ] 
FAKTORYZACJA OGROMNYCH LICZB  https://www.geeksforgeeks.org/factorial-large-number/
a tu przykład działania i implementacji https://godbolt.org/z/W9115W 

komentarz 23 października 2020 przez NewEraOfPeace Gaduła (4,790 p.)
śmieszny ten schemat. IMO do C++ lepiej includować ten ze standardu, bo z uwagi na data models long pod linuxem to nie to samo co pod windowsem https://en.cppreference.com/w/cpp/language/types
1
komentarz 23 października 2020 przez tkz Nałogowiec (42,000 p.)

To co wysłał Wiciorny jest jak najbardziej poprawnym schematem wielkości dostępnym w c++. Jedyny minus, to brak rozróżnienia ze względu na platformę. 

Ogólnie najprostszym sposobem będzie zaciągnięcie osobnej biblioteki, która obsługuje takie liczby. Boost na przykład. 

komentarz 23 października 2020 przez NewEraOfPeace Gaduła (4,790 p.)
A cstdint to nie są aliasy zależne od systemu?
komentarz 23 października 2020 przez tkz Nałogowiec (42,000 p.)
https://stackoverflow.com/questions/5530906/do-i-need-to-have-64-bit-processor-to-use-64-bit-data-type
Standard definiuje aliasy, z wyjątkiem "implementation dependent", są chyba oznaczone jako opcjonalne.
komentarz 23 października 2020 przez Oscar Nałogowiec (29,290 p.)

@Wiciorny, int 16bit? Z jakich wykopalisk wytrzasnąłeś tą tabelkę?

komentarz 23 października 2020 przez NewEraOfPeace Gaduła (4,790 p.)
Standard C++ specyfikuje, że int ma mieć co najmneij 16bit. Data model LP na x86 win mówi int 16 bit, long 32 bit, pointer 32 bit. Data model ILP mówi int 32 bit, long 32 bit, pointer 32 bit
0 głosów
odpowiedź 23 października 2020 przez Tomek Sochacki Ekspert (227,510 p.)
Jesli faktycznie potrzebujesz robić operacje na takich dużych liczbach to pytanie czy nie lepiej na przykład wziąć do tego pythona?
0 głosów
odpowiedź 24 października 2020 przez niezalogowany
Można zapisywać w stringu, aczkolwiek wtedy operacje na takim stringu są cięższe, bo przykładowo przy dodawaniu czy odemowaniu robi się to podobnie jak się robiło w słupku w podstawówce. Dodatkowo, G++ ma inta 128 bitowego.

Podobne pytania

+4 głosów
2 odpowiedzi 382 wizyt
pytanie zadane 2 stycznia 2016 w C i C++ przez obx88 Nowicjusz (160 p.)
+1 głos
1 odpowiedź 193 wizyt
0 głosów
3 odpowiedzi 1,192 wizyt
pytanie zadane 30 kwietnia 2017 w C i C++ przez Bartek09797 Początkujący (440 p.)

92,555 zapytań

141,403 odpowiedzi

319,554 komentarzy

61,939 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...