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

[C] Największa wartość w signed/unsigned long int
DA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 53
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? :)

Kopiuj
#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;
} 
_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

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

Endrju
  • Rejestracja: dni
  • Ostatnio: dni
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

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.