Buongiorno a tutti
Conosco vari programmi che permettono di aprire un file e visualizzarlo in formato esadecimale, però non ne conosco nessuno che mi permetta di passare anche alla visualizzazione in formato binario.
Mi spiego meglio.
Ho un file bitmap, un immagine di 8 pixel per 4 pixel. vorrei vedere la sequenza di 0 e 1 per poterla copiare e incollare sullo sketch di arduino.
Nel titolo ho scritto un file qualsiasi perchè non è importante il tipo, che sia un file .mp3 o un file .txt sono tutti composti da una serie di bit. vorrei quindi poterli leggere come un elenco di zero e uno.
Rob123:
Buongiorno a tutti
Conosco vari programmi che permettono di aprire un file e visualizzarlo in formato esadecimale, però non ne conosco nessuno che mi permetta di passare anche alla visualizzazione in formato binario.
Esadecimale è solo un modo per rappresentare i valori binari con una base numerica più amichevole per gli esseri umani.
Nel tuo caso non devi fare altro copiare i valori esadecimali, ma volendo anche dei valori decimali, nel tuo sketch, poi ci pensa il compilatore a convertire il decimale in binario, per l'hex non serve nessuna conversione in quanto è già in formato comprensibile per il micro/mcu.
Ti ringrazio per avere risposto, però io ho proprio bisogno di vedere gli zero e gli uno.
Non voglio convertire niente, solo vedere. Mi aiuterebbe a scrivere un programma che mi sta dando del filo da torcere.
Pensavo di non essere il primo uomo sulla terra a voler visualizzare un file nel suo formato originale. però a quanto pare.. nessuno dei programmi che ho provato mi fa vedere il file in formato binario. Neanche 010editor, nonostante il nome.
Mi viene più comodo scrivere il programma e controllare se funziona bene. se riesco a vsualizzare i bit nel loro ordine.
Al fine della programmazione non cambia niente, tanto dichiarando il tipo posso scrivere i valori in qualsiasi base. Però se li scrivo come binari posso intuire piu facilmente cosa combina il programma in base a come altero la sequenza di bit.
Ora sto facendo senza, apro il file con paint, modifico pixel per pixel , lo salvo e lo apro con un editor esadecimale. Poi copio la parte che mi interessa nello sketch.
generalmente si usa il formato esadecimale perché è chiaro e semplice.
un byte in hex è formato da due numeri:
0x00
ogni numero rappresenta un nibble (4bit) e precisamente il primo numero l' MSB ( bit più significativi) ed il secondo il LSB ( bit meno significativi).
basterà dunque ricordarsi 16 numeri per avere a mente qualsiasi ordine di bit.
Come ricordare i numeri?
A)naturalmente la potenza di due setta i bit e quindi:
0x1 0001
0x2 0010
0x4 0100
0x8 1000
B) gli estremi
0x0 0000
0xF 1111
ecco ora sei in grado sapendo solo questi numeri di ricavare tutti gli altri 10 ma come?
C) Sommando i numeri sommi i bit esempio:
Vuoi il numero 0x6 in binario
0x6 è 0x04 + 0x02 e quindi
0100 + 0010 = 0110 = 0x6
Vuoi 0x0D
0xD = 0x8 + 0x4 + 0x1
1000 + 0100 + 0010 = 1110 = 0xD
D) ora puoi vedere qualsiasi numero tu voglia!Ad esempio il bianco è rappresentato da tre byte
0xFF 0xFF 0xFF
e sai gia che è
11111111 11111111 11111111
come vedi il formato esadecimale è molto semplice ma va imparato!Assolutamente!
In alternativa che s.o. usi e che linguaggi di programmazione conosci?