Rappresentazione in bit

Lionel2
Ciao,
Devo rappresentare in bit i giorni della settimana,devo fare ilseguente logaritmo?

$log_2(7)=8$

così? Oppure sbaglio?

Risposte
Lionel2
Inoltre come devo procedere per calcolare quanti bit ci sono in 7 megabyte?

codino75
$log2(7)=2,...$
quindi con 3 bit puoi rappresentare (almeno) 7 valori differenti.

per quanto riguarda i megabyte, per quanto ne so io si intende che si proceda per potense di 2, quindi 1 megabyte dovrebbero essere $2^20$ byte = $1.048.576$byte
pero' su questo attendo conferme.

Lionel2
volevo dire $log_2(7)=3$, scusa ma $2^2=4$? io non devo arrivare almeno fino a 7?

codino75
vorse non si vede bene, io avevo scritto che quel logartimo vale 2,... (cioe' 2 virgola qualchecosa), quindi siamo sicuri che con 3 bit puoi rappresentare almeno 7 valori differenti.

Lionel2
Questo perché per rappresentare in bit 7 oggetti devo prendere la parte superiore di $log 7$ giusto?

codino75
"Lionel":
Questo perché per rappresentare in bit 7 oggetti devo prendere la parte superiore di $log 7$ giusto?


si', devi arrotondare per eccesso all'intero.

Lionel2
inoltre visto che mi trovo il numero binario 10101 è in decimale 20?

codino75
no, vale 21 in decimale

Lionel2
ma scusa io non devo fare così per esempio avendo 111111

$1*2^5+1*2^4+1*2^3+1*2^2+1*2^1+2*1^0$=63?
forse prima ho fatto un errore di calcolo

codino75
"Lionel":
ma scusa io non devo fare così per esempio avendo 111111

$1*2^5+1*2^4+1*2^3+1*2^2+1*2^1+2*1^0$=63?
forse prima ho fatto un errore di calcolo


si', questo e' corretto.
prima avevi dimenticato l' 1 meno significativo (quello piu' a destra), che da' sempre origine, se presente, a numeri dispari.

Lionel2
"codino75":
$log2(7)=2,...$

per quanto riguarda i megabyte, per quanto ne so io si intende che si proceda per potense di 2, quindi 1 megabyte dovrebbero essere $2^20$ byte = $1.048.576$byte
pero' su questo attendo conferme.


ovvero che significa? Come dovrei procedere?

inoltre sono corretti questi calcoli:

$log_2(365)=9$
$log_2(60)=6$

spero di si

codino75
dovrebbe essere
1 kilo = $2^10=1.024$
1 mega=$2^20=1.048.576$
e cosi' via per i gia e i tera
ma ripeto, non sono del tutto sicuro.
inoltre ricorda che 1 byte =8 bit (su questo invece potrei giurarci ) :lol: :lol: :lol:

Lionel2
quella del bit è l'unica certezza che ho...
e per convertire 110 da decimale a binario?

Lionel2
fatto è 1101110 vero?

inoltre sono corretti questi calcoli:

$log_2(365)=9$
$log_2(60)=6$


spero di si

codino75
"Lionel":
quella del bit è l'unica certezza che ho...
e per convertire 110 da decimale a binario?


per convertire da decimale a binario un numero n devi
calcolare la divisione (intera, cioe' con quoziente e resto intero) seguente:
n/2=q*2+r
dove q e' il quoziente e r il resto
r rappresenta il bit meno significativo del numero binario che stiamo cercando.
iterando il procedimento ottieni tutti gli altri bit.
esempio:
9 in base 10

9/2=4*2+1 ----->resto e' 1 (cifra meno significativa)
4/2=2*2+0 ------->resto e' 0
2/2=1*2+0 ------->resto e' 0
1/2=0*2+1 ------->rsto e' 1 (cifra piu' significativa)

quindi
9 (base 10) = 1001 (base 2)

Lionel2
come faccio a sapere quando la somma di due numeri binari mi da l'overflow?
io so che l'Overflow si verifica quando il risultato dell’operazione è maggiore del più grande valore rappresentabile


per esempio se ho i due numeri binari $0011$ e $0110$ la loro somma mi da $1001$ quindi non c'è overflow giusto?

codino75
"Lionel":
come faccio a sapere quando la somma di due numeri binari mi da l'overflow?
io so che l'Overflow si verifica quando il risultato dell’operazione è maggiore del più grande valore rappresentabile


per esempio se ho i due numeri binari $0011$ e $0110$ la loro somma mi da $1001$ quindi non c'è overflow giusto?


si' e' giusto.

Lionel2
inoltre l'esponente e la matissa in numero del tipo binaio 10.11 è così:

$0.1011 x 2^(10)

codino75
2 bit sono per la mantissa e 2 per l'esponente

codino75
"Sergio":

in questo modo posso applicare l'operatore AND ed avere, ad esempio, 01100000 per il fine settimana (sabato AND domenica) e 00011111 per i giorni lavorativi (lunedì AND martedì AND ... AND venerdì). Ma forse questa è solo una sottigliezza per informatici ;-)


intendevi forse l'OR?

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.