Unsigned

di il
2 risposte

Unsigned

Il valore della x mi viene 0 e non capisco perché?
Qualcuno me lo può spiegare?

#include <stdio.h>
#include <limits.h>

int main(){

  unsigned int x = UINT_MAX;
  long long y= LLONG_MAX;

  x = y-x;
  printf("%u\n", x);
}

2 Risposte

  • Re: Unsigned

    1) Quanto valgono UINT_MAX e LLONG_MAX sulla tua macchina? Scoprilo con delle printf
    2) usa un debugger
    3) Avvisate il professore che già da molti anni esiste stdint.h (<cstdint> in C++) con int32_t e tutto il resto, proprio per evitare che la gente faccia dei cast senza cognizione di causa..
  • Re: Unsigned

    laurentibus ha scritto:


    Il valore della x mi viene 0 e non capisco perché?
    Perché sei meravigliato? Quale dovrebbe essere il risultato secondo te?
Devi accedere o registrarti per scrivere nel forum
2 risposte