Come si ricavano le espressioni in rappresentazione modulo e segno?

antoniadesica
Ciao ragazzi, non capisco cosa devo fare in questo esercizio... ve lo scrivo:

Si ricavino l'espressioni in rappresentazione modulo e segno e comprlemento a 2 a 10 bit dei seguenti numeri relativi:

(+20)pedice 10
(-54)pedice 10
(+54)pedice 10
(0)pedice 10

AIUTOOOO!

Risposte
BIT5
Per prima cosa dire "a 10 bit" significa che qualunque numero scriviamo, esso dovra' essere rappresentato su 10 cifre.

Pertanto ad esempio 1 in base 10 (che corrisponde a 1 in base 2) dovra' essere scritto come

0000000001

Quindi sempre su 10 bit.

Detto questo, rappresentiamo modulo e segno:

Si tratta di:

a) trasformare il numero in base 10: questo lo ottieni dividendo il numero per 2, ed evidenziare i resti. Alla fine scriverai il numero prendendo le cifre dei resti, dall'ultimo resto al primo.

20 : 2 = 10 RESTO 0
10 : 2 = 5 RESTO 0
5 : 2 = 2 RESTO 1
2 : 2 = 1 RESTO 0
1 : 2 = 0 RESTO 1

Pertanto il valore cercato e' 10100 (le cifre dei resti al contrario)

su 10 bit sara' 0000010100

b) anteporre 0 se e' positivo, 1 se e' negativo. E siccome e' positivo, lo lasciamo cosi'.

Vediamo il secondo (e il terzo, visto che dobbiamo trasformare 54)

54 : 2 = 27 RESTO 0
27 : 2 = 13 RESTO 1
13 : 2 = 6 RESTO 1
6 : 2 = 3 RESTO 0
3 : 2 = 1 RESTO 1
1 : 2 = 0 RESTO 1

Il valore cercato e' 110110

Su 10 bit 0000110110

Il numero +54 base 10 e' gia' scritto
Per il numero -54 dovremo anteporre 1 alla cifra, ottenendo 1000110110

Per quanto riguarda 0 in base 10, avremo

0000000000

Ma siccome (e' il grande problema della rappresentazione in modulo e segno) 0 e' anche -0 il numero zero lo rappresentiamo in due modi:

0000000000
1000000000

Per la rappresentazione in complemento a 2:

Se il numero e' positivo nulla cambia.

Quindi +20 sara' sempre 0000010100

Per i numeri negativi invece dovrai:


rappresentare il numero binario
[math] 2^{10-1}-k [/math]
dove k e' il numero da rappresentare (54)

Quindi per -54 dovrai fare:

[math] 2^9-54 = 512 [/math]


Rappresentiamo 512 in base 2:

512 : 2 = 256 RESTO 0
256 : 2 = 128 RESTO 0
128 : 2 = 64 RESTO 0
64 : 2 = 32 RESTO 0
32 : 2 = 16 RESTO 0
16 : 2 = 8 RESTO 0
8 : 2 = 4 RESTO 0
4 : 2 = 2 RESTO 0
2 : 2 = 1 RESTO 0
1 : 2 = 0 RESTO 1

Dal momento che il numero binario e' gia' lungo 10 bit non potra' essere rappresentato.

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