|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 1102
|
Esadecimali e assembler
Ragazzi,
devo fare l'esame di Calcolatori I a ingegneria però ho molte difficoltà nel capire le rappresentazioni, vi spiego: ho un numero ad esempio 2 in base 10, lo posso rappresentare sia in base 16 che 2, cioè in binario Ho letto che esiste una relazione diretta tra una cifra esadecimale e 4 cifre binarie, ma perchè? So che 2^4=16(quindi sono 16 elementi rappresentabili, però voglio conferma di aver capito bene), poi però mi sono trovato di fronte un numero esadecimale tipo A16BC9, ma sta usando 6 cifre(ma sono sempre bit?), ma 'è un limite fin quando si possono usare Ma sei io voglio esprimere un numero enorme tipo 1000000000, allora lo sposso esprimere in esadecimale ma con 30bit(ma il bit non sono solo gli 0 e 1?) Non ci capisco più niente Raga scusate le domande per voi saranno ddellle cretinate assurde però io mi ci sto perdendo..... Ultima modifica di ubanton : 15-09-2009 alle 10:49. |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Aug 2008
Città: casa mia??
Messaggi: 2940
|
Quote:
beh di sicuro da come stai esponendo la cosa non c'ho capito nulla....vabbè che son ormai + di 10 anni che non ho + a che far con bin, hex e bagoli vari... prova a schiarirti qui: http://it.wikipedia.org/wiki/Sistema_numerico_binario ma i testi non le spiegano ste cose
__________________
vivo con 1/4 di buon vinello al colpo |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 1102
|
cerco di spiegarmi
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
|
Ho capito davvero poco, comunque provo a risponderti per quel poco che ho capito:
Quote:
Ad esempio, se hai il numero binario 1001101000011111, per convertirlo in esadecimale: - lo dividi in gruppi di 4 cifre, a partire dalla destra 1001.1010.0001.1111 - Converti ogni gruppo di 4 cifre binarie in un unico esadecimale 1001=9 1010=A 0001=1 1111=F =>Risultato della conversione in esadecimale: 9A1F Puoi avere un numero di cifre esadecimali grande quanto vuoi, così come nessuno ti vieta di avere un decimale a 80 cifre. Il limite, chiaramente, è l'hardware.
__________________
Il sole è giallo |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 1102
|
ok ma te
non l'hai fatto il 68000 vero?
Perchè io no capisco perche passa da 8000 a 8006 e non a un altro indirizzo di memoria |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
|
Ho programmato anche su Motorola 68000, una ventina d'anni fa più o meno. Ma la tua domanda non l'ho capita ugualmente: cos'è che passa da 8000 a 8006?
__________________
Il sole è giallo |
|
|
|
|
|
#7 | ||
|
Member
Iscritto dal: Jul 2008
Messaggi: 255
|
Quote:
Non preoccuparti alla fine è piu semplice di quanto credi. Allora un numero in base 2 vuol dire che hai a disposizione 2 simboli per rappresentare i numeri ( 0 e 1), base 10 invece hai 10 simboli per rappresentare i numeri ( 0 1 2 3 4 5 6 7 8 9 ) e base 16 invece hai 16 simboli per rappresentare i numeri ( 0 1 2 3 4 5 6 7 8 9 a b c d e f ). Quindi il numero 26 lo posso rappresentare in: base 2: 11010 base 10: 26 base 16: 1a Esiste una relazione diretta tra una cifra esadecimale e 4 cifre binarie. Ecco perchè: Questi sono i numeri da 0 a 15 rappresentati in binario: 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Questi sono i numero da 0 a 15 rappresentati in esadecimale ( o base 16 ): 0 1 2 3 4 5 6 7 8 9 a b c d e f Come vedi ho usato una solo cifra esadecimale per rappresentare un numero che in binario avrei rappresentato con 4 cifre. Il numero A16BC9 è un qualsiasi numero rappresentato in base 16. I numeri possono essere di qualsiasi cifra, proprio come accade con i numeri decimali con cui hai a che fare ogni giorno. Anche questo è un numero in base 16: F7f865310F762F263764AA765D Quote:
UN BIT PUÒ VALERE 0 OPPURE 1 !!! Si possono avere numeri formati con miliardi di bit. Questo è un numero di 30 bit: 101011010110101001110101100101 Se lo vuoi esprimere in base 16 allora lo dividi in gruppi da 4 partendo da destra come ti hanno segnalato prima di me. Hai fatto un po di confusione. Un numero è solo un numero... come lo rappresenti è un' altra questione. Il tutto si traduce in: base 2 hai 2 simboli per rappresentare i tuoi numeri ( 0 e 1 ) base 10 hai 10 simboli base 16 hai 16 simboli E' tutto più semplice di quanto credi!! |
||
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 1102
|
raga allora mi date una mano
allora ho sbagliato slide scusatemi, ecco quella giusta
![]() raga allora perchè il PLC(program location counter si muove sempre ogni 6 , ma ogni 6 di che di bit, di esadecimali, nun ce capisco niente) poi il 4279 e il codice operativo della CLR.W che poi dovrebbe essere una word quindi 16 bit, perchè non ci sono 16 cifre? Mi sapreste spiegare passo passo tutti quei numeri, il programma nel linguaggio quello solo a lettere l'ho capito bene, però so i numeri che mi stanno mandando ..... grazie mille |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
|
Si muove di 6 byte (un byte = 2 cifre esadecimali o 8 cifre binarie). Ovvero, se un'istruzione è codificata con 12 esadecimali, sono in realtà 6 byte, perciò il PC si incrementa di 6 byte per leggere l'istruzione successiva.
16 bit = 2 byte = 4 cifre esadecimali
__________________
Il sole è giallo |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 1102
|
scusa allora ti pongo il mio ragionamento:
6byte=>6*8bit=48bit
1 esad=4bit 48/4=6byte però allora ho 00008032 nel PLC, mi dici perchè ci sono 4 zeri prima, il numero espresso è in esadecimale? cioè quello che mi suona strano è che ci sono 8 cifre ma se il comando CLR.W è una word di 16bit?2byte=4 cifre decimali perchè ce ne stanno 8? |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
|
Suppongo perchè 00008032 (che sì, è un esadecimale) è l'indirizzo di memoria della variabile, non il suo contenuto, come specificato in fondo al documento. Ora è passato tanto tempo e non ricordo di preciso, basterebbe una googlata, ma mi pare che il 68000 utilizzi degli indirizzi a 32 bit, al di là poi se la variabile è di tipo byte, word o double.
__________________
Il sole è giallo |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 1102
|
si la massima
lunghezza è proprio 32bit
grazie mille cmq |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:17.












di buon vinello al colpo 









