[C] Największa wartość w signed/unsigned long int

2013-01-07 17:31

Rejestracja: 7 lat temu

Ostatnio: 2 lata temu

0

Witam,
mam do napisania wypisanie kilku największych i najmniejszych wartości rożnych typów. Z int, short mi się udało, ale próbując napisać kod, który umożliwi napisanie największej wartości typu signed oraz unsigned long int program nie odpowiada. Nie wiem czy to jest spowodowane tym, że ten typ ma zakres aż: 18 446 744 073 709 551 615 i program po prostu liczy czy jednak nie działa.

Zamieszczam kod programu, mógłby mi ktoś powiedzieć w jaki sposób właśnie to obliczyć? Jakieś rady? :)

#include <stdio.h>

main()
{

        // signed long int
        long long int sl=0;

        for (; sl+1>sl; sl++);
        printf("Maksymalna wartosc w \"signed long int\" to: %u, a minimalna: %u\n\n", sl, (long)(sl+1));
        fflush(stdout);    

        // unsigned long int
        unsigned long long int ht=0;

        for (; ht+1>ht; ht++);
        printf("Maksymalna wartosc w \"unsigned long int\" to: %u, a minimalna: %u\n\n", ht, (long)(ht+1));
        fflush(stdout); 

        getchar();
        getchar();
        return 0;
} 
edytowany 1x, ostatnio: Dartam, 2013-01-07 17:31
Skad sie wziela ta: 18 446 744 073 709 551 615 liczba? - n0name_l 2013-01-07 19:03

Pozostało 580 znaków

2013-01-07 17:34

Rejestracja: 14 lat temu

Ostatnio: 1 dzień temu

0

Policz ile czasu liczy się dla long int a potem ten czas pomnóż przez 4 mln


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
edytowany 1x, ostatnio: _13th_Dragon, 2013-01-07 17:35

Pozostało 580 znaków

2013-01-07 17:40

Rejestracja: 16 lat temu

Ostatnio: 1 rok temu

Lokalizacja: Katowice

0

Btw: Nie ma absolutnie żadnego zgodnego ze standardem i przenośnego sposobu na obliczenie/wyznaczenie zakresów liczb ze znakiem, całkiem niedawno była o tym dyskusja. Zakresy te są zapisane w bibliotece: http://en.cppreference.com/w/c/types/limits


"(...) otherwise, the behavior is undefined".
edytowany 1x, ostatnio: Endrju, 2013-01-07 17:57

Pozostało 580 znaków

2013-01-07 17:47

Rejestracja: 12 lat temu

Ostatnio: 2 godziny temu

0

http://ideone.com/6naOHA


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.

Pozostało 580 znaków

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0