Chcę 128-bitowej liczby całkowitej, ponieważ chcę przechowywać wyniki mnożenia dwóch liczb 64-bitowych. Czy jest coś takiego w gcc 4.4 i wyżej?Czy istnieje 128-bitowa liczba całkowita w gcc?
Odpowiedz
Można użyć biblioteki, która obsługuje dowolne lub duże wartości precyzji, takie jak GNU MP Bignum Library.
Ah, duże liczby całkowite nie są forte C.
GCC ma typ uint128_t
/int128_t
, począwszy od wersji 4. coś (nie jestem pewien tutaj). Wydaje mi się jednak, że pamiętam, że wcześniej było __int128_t
def.
'long long int' to 64 bity w każdej implementacji, której użyłem , w tym GCC dla x86-64. I uważam, że 128-bitowa int GCC jest dostępna tylko na 64-bitowych platformach. – interjay
Po prostu wypróbowałem to w 2 systemach i są one zgodne z wynikami. Usunąłem twierdzenie o długości do 128 bitów. – slezica
gcc 4.7.2 na Linux x86_64 nie ma '[] int128_t'. Przypuszczam, że to możliwe, że gcc 4.8.0 może go mieć. –
Spójrz: http://stackoverflow.com/questions/3329541/does-gcc-support-128-bit-int-on-amd64 –