globulo73 Inserito: 11 ottobre 2008 Segnala Inserito: 11 ottobre 2008 Nel manuale Istruzioni AWL Siemens vi è il seguente esempio:Esempio: MW12 = "-10" (numero intero a 16 bit)Contenuto ACCU1-H ACCU1-LBit 31 . . . . . . . . . . 16 15 . . . . . . . . . . 0prima dell'esecuzione di ITD XXXX XXXX XXXX XXXX 1111 1111 1111 0110dopo l'esecuzione di ITD 1111 1111 1111 1111 1111 1111 1111 0110(X = 0 o 1, bit non necessari per la conversione)1)non capisco perchè (-10) in binario (16 bit) è pari: 1111 1111 1111 0110 non dovrebbe essere: 1000 0000 0000 10102)perchè dopo l'istruzione ITD nella word (ACCU1-H) vengono inseriti tutti uni?grazie per la collaborazione!!!
alfa84 Inserita: 11 ottobre 2008 Segnala Inserita: 11 ottobre 2008 ciao1)quello che c'è scritto è corretto nel manuale,inoltre nella tua supposizione non consideri il segno negativo2)il 32 bit è il segno che assumendo statol logico indica il segno -....tutti gli altri non saprei sinceramente..comunque il risultato della conversione è corretto.attendo smentite e magari chiarimenti ciao
globulo73 Inserita: 11 ottobre 2008 Autore Segnala Inserita: 11 ottobre 2008 ciao alfa84,infatti il 32 bit è messo a uno (segno -) anche da me ma non comprendo i restanti!Se consideriamo gli ultimi 4 bit:0110 = 6 decimale1010 = 10 decimale
alfa84 Inserita: 11 ottobre 2008 Segnala Inserita: 11 ottobre 2008 dunque considerando il fatto che un numero intero a 32bit con segno può rappresentare un campo di valori che va da -4294967286 a 4294967286 direi che è proprio questo il motivo per cui vengono inseriti tutti gli uno ad eccezzione degli ultini 4 bit meno significativi nella quale trovi il tuo risultato ossia 0110 che convertito in decimale viene 6.al limite ci penserà qualcun'altro a chiarire meglio la posizione ciao
JumpMan Inserita: 11 ottobre 2008 Segnala Inserita: 11 ottobre 2008 Nei numeri negativi si usa il >>> complemento a 2 <<<
globulo73 Inserita: 12 ottobre 2008 Autore Segnala Inserita: 12 ottobre 2008 Ciao JumpMan, quindi:valore decimale 10 a 16 bit: 0000 0000 0000 1010compl. a 1: 1111 1111 1111 0101sommo 1: +1 --------------------------- 1111 1111 1111 0110 Valore -(10)
JumpMan Inserita: 13 ottobre 2008 Segnala Inserita: 13 ottobre 2008 Direi proprio di sì, ma per correttezza rappresentiamo tutto in binario:valore decimale 10 a 16 bit: 0000 0000 0000 1010compl. a 1: 1111 1111 1111 0101sommo 1: 0000 0000 0000 0001---------------------------1111 1111 1111 0110 Valore -(10)
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora