Esercizi numeri binari e algebra di Boole

Informatica A (per gestionali)
A.A. 2004/2005
Esercizi
Cambiamenti di base,
codifiche e operazioni binarie,
algebra di Boole
1
Indice
1
Cambiamenti di base .................................................................................................................... 3
1.1
Naturali................................................................................................................................. 3
1.2
Interi ..................................................................................................................................... 3
2
Somma ......................................................................................................................................... 4
2.1
Naturali................................................................................................................................. 4
2.2
Interi ..................................................................................................................................... 4
3
Numeri reali ................................................................................................................................. 5
3.1
Virgola fissa ......................................................................................................................... 5
3.2
Virgola mobile ..................................................................................................................... 5
4
Algebra di Boole .......................................................................................................................... 6
4.1
Formule logiche ................................................................................................................... 6
1 Cambiamenti di base
1.1 Naturali
Convertire i seguenti numeri naturali:
1) 1010011011012 in base 10, 8 e 16
2) 110011011112 in base 8
3) 11011011012 in base 16
4) 25510 in base 2, 8 e 16
Risposte:
1a) Applicando la sommatoria con p=10: 1010011011012 = 266910
1b) Dividendo in gruppi di tre: 1010011011012  101 001 101 1012 = 51558
1c) Dividendo in gruppi di quattro: 1010011011012  1010 0110 11012 = A6D16
2) Dividendo in gruppi di tre: 110011011112  011 001 101 1112 = 31578
3) Dividendo in gruppi di quattro: 11011011012  0011 0110 11012 = 36D16
4a) Applicando regola divisione: 25510 = 111111112
4b) Porto in base due e poi in ottale: 25510 = 111111112  011 111 1112 = 3778
4c) Porto in base due e poi in esadecimale: 25510 = 111111112  1111 11112 = FF16
1.2 Interi
Ricavare m e convertire in base 2 i seguenti numeri interi, usando il CPL2:
1) –810
2) +810
Risposte:
1) m=4; –810 = 10002
2) m=5; +810 = 010002
Convertire in base 2, se possibile, i seguenti numeri interi, usando il CPL2 e con m=8 bit:
1) +12710
2) –12810
3) +12810
Risposte:
1) +12710 = 011111112
2) –12810 = 100000002
3) +12810 = non è possibile su 8 bit. Usando 8 bit posso convertire [-128 , +127].
3
2 Somma
2.1 Naturali
Convertire in binario e calcolare il risultato delle seguenti operazioni (m=7):
1) 1910 + 4510
2) 7410 + 5310
3) 7410 + 5410
Risposte:
1) 1910 + 4510 = 10000002
2) 7410 + 5310 = 11111112
3) 7410 + 5410 = 100000002 (cioè, ho un carry: risultato scorretto se uso 7 bit)
2.2 Interi
Convertire in binario e calcolare il risultato delle seguenti operazioni (m=7):
1) +5410 +310
2) –5410 –310
3) –5410 –3210
4) +1910 +4510
Risposte:
1) +5410 +310 = 01110012
2) –5410 –310 = 10001112
3) –5410 –3210 = 01010102 (cioè, overflow: risultato scorretto su 7 bit)
4) +1910 +4510 = 10000002 (cioè, overflow: risultato scorretto su 7 bit)
4
3 Numeri reali
3.1 Virgola fissa
Convertire in binario le parti frazionarie dei seguenti numeri decimali, usando n=4 bit.
Calcolare, inoltre, l’errore :
1) 0,34110
2) 0,0210
Risposte:
1) 0,34110  0,01012
0,01012 = 0,312510 allora  = 0,34110 – 0,312510 = 0,0285
2) 0,0210  0,00002
0,00002 = 010 allora  = 0,0210 – 010 = 0,02
Convertire in binario i seguenti numeri decimali, usando m=8 e n=4 bit:
1) +127,5210
2) –74,1210
Risposte:
1) parte intera: +12710 = 011111112
parte frazionaria: 0,5210 = 0,10002
quindi, +127,5210 = 01111111,10002
2) parte intera: –7410 = 101101102
parte frazionaria: 0,121 = 0,00012
quindi, –74,1210 = 10110110,00012
3.2 Virgola mobile
Rappresentare, con p=b=10 ed in forma normalizzata:
1) 1234,55
2) 0,00072
3) –456
4) –0,00386
Risposte:
1) 1234,55 = 0,123455104
2) 0,00072 = 0,7210–3
3) –456 = –0,456103
4) –0,00386 = –0,38610–2
5
4 Algebra di Boole
4.1 Formule logiche
Costruire le tabelle delle verità delle seguenti espressioni logiche:
1) D = NOT ((A OR C) OR B) OR (A AND C)
2) D = NOT (A OR NOT B) AND NOT C
Risposte:
1) D = NOT ((A OR C) OR B) OR (A AND C)
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
D
1
0
0
0
0
1
0
1
2) D = NOT (A OR NOT B) AND NOT C
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
D
0
0
1
0
0
0
0
0
Disegnare il circuito equivalente delle seguenti espressioni logiche:
1) C = (A OR B) OR NOT (A AND B)
2) D = (A AND (B OR C)) AND NOT C
6
Risposte:
1) C = (A OR B) OR NOT (A AND B)
A
B
C

2) D = (A AND (B OR C)) AND NOT C. Due soluzioni equivalenti:
A
B
C
D

A
B
C
D

Ricavare l’espressione logica partendo dalla seguente tabella della verità (A, B, C ingressi; D
uscita):
A
B
C
D
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
0
Risposta:
D = (NOT A AND NOT B AND C) OR (NOT A AND B AND NOT C) OR
(A AND NOT B AND NOT C)
7