Oppure

Loading
27/02/09 15:14
K2
Parto subito dallesempio:
Uno short int, utilizza 16 bit. Di questi 16 uno viene utilizzto per il segno,
quindi come risultato si ha un intervallo da:
-32.768(-2 alla 15esima) a 32767 (2 alla 15esima-1)
Non ho capito perchè si utilizza 2 alla 15esima-1 per rappresentare un intero positivo, mentre per raprresentare un numero negativo si usa -2 alla 15esima.
E' così e basta o c'è una spiegazione. Grazie in anticipo.
Ciao!
Ultima modifica effettuata da K2 27/02/09 15:15
aaa
27/02/09 16:05
theprogrammer
E' semplice ...

Con 16 bit puoi rappresentare 2 elevato a 16 valori diversi, ovvero 65536

Saranno meta' (32768) per i negativi e meta' (32768) per i positivi.

I negativi andranno da -1 a -32768

I positivi andranno da 0 a 32767

Tu non hai considerato che lo 0 e' un valore ed e' considerato tra i positivi.
aaa
27/02/09 17:30
pierotofy
Perchè -2 ^ 15 = minimo numero negativo rappresentabile con 16 bit (con segno)
E (2^15)-1 = massimo numero rappresentabile con 16 bit (con segno)

E' matematica.

Ups, avevo sbagliato a scrivere la formula... ora con le parentesi è piu chiaro
Ultima modifica effettuata da pierotofy 27/02/09 17:38
Il mio blog: piero.dev
27/02/09 17:35
theprogrammer
Postato originariamente da pierotofy:
E 2^14 = massimo numero rappresentabile con 16 bit (con segno)

E' matematica.


Sì Piero ... ma e' una matematica un po' diversa la tua ... :)

2^14 NON e' il massimo numero positivo rappresentabile con 16 bit, ma e' 2^15-1
aaa
27/02/09 17:39
pierotofy
Ups, corretto.
Il mio blog: piero.dev
27/02/09 21:17
K2
Grazie delle risposte, ma io in matematica sono un vero danno, devo essere imboccato per capire le cose.
Ma nella forma (2^15)-1
quel -1 cosa sta ad indicare?
Perchè nella forma (-2^15) il meno 1 non ci sta?
Scusate ancora.
aaa
27/02/09 21:21
theprogrammer
Postato originariamente da K2:

Grazie delle risposte, ma io in matematica sono un vero danno, devo essere imboccato per capire le cose.
Ma nella forma (2^15)-1
quel -1 cosa sta ad indicare?
Perchè nella forma (-2^15) il meno 1 non ci sta?
Scusate ancora.


Okay che la matematica non e' il tuo forte, ma hai rifatto la stessa domanda a cui avevo dato subito la risposta ... :asd:

2^15 fa 32768

ma dato che per i positivi devi considerare anche lo 0, allora togli 1 (2^15-1) da 32768 per avere il range 0...32767

per i negativi, dato che lo 0 non c'e', non togli 1 ...

OK?
aaa
27/02/09 21:29
K2
Ok. Adesso ho capito, l'ho detto che dovevo essere imboccato... più di una volta
Grazie mille.
aaa