Pagina 1 di 1

Come si indica il tipo di dato quando si assegna un valore

MessaggioInviato: 3 dic 2019, 17:45
da EcoTan
Quando scrivo, in linguaggio C:
TRISA = 0b1111111111101111;
la lettera b indica che il dato è scritto in binario.
In altri casi potrebbe essere in decimale o esadecimale,
Lo stesso in linguaggio Assembler.
Ho provato a cercare notizie in proposito ma sono rimasto deluso.
Esistono delle convenzioni di uso generale?

Re: Come si indica il tipo di dato quando si assegna un valo

MessaggioInviato: 3 dic 2019, 18:06
da dadduni
A che ricordo, ma potrei sbagliare, quelle non sono direttive standard del ANSI C ma sono indicazioni al compilatore che poi assegna il valore giusto "castato" tanto alla fine tutto binario diventa.
Le uniche due scritture che conosco sono 0x per esadecimale e 0b per binario. Senza nulla di parla di decimale.
Cosa vorresti sapere con precisione?

Re: Come si indica il tipo di dato quando si assegna un valo

MessaggioInviato: 3 dic 2019, 19:52
da EcoTan
Grazie. Vale in C e anche in Assembler? Nei vari manuali da scaricare e guide in linea, sono riuscito a trovare al massimo qualche esempio.

Re: Come si indica il tipo di dato quando si assegna un valo

MessaggioInviato: 3 dic 2019, 23:24
da nembro
Riporto solamente quanto ho trovato, in quanto non conosco l'argomento.

Lo standard ANSI C ISO/IEC 9899:1999 a quanto pare non prevede un metodo per la rappresentazione di costanti in binario, mentre definisce le modalità per il formato decimale, esadecimale e ottale. Il documento ufficiale dello standard non è disponibile gratuitamente, ma lo sono le bozze, per esempio Working Draft November 18,2019 dove l'argomento di interesse è riportato a pagina 51.
A quanto pare, come già indicato dall'autore del precedente post, l'utilizzo del prefisso 0b è ammesso da alcuni compilatori come GCC, fonte: GCC online docs 6.65 Binary Constants.

Spero di non aver scritto qualcosa di errato.

Ciao