Costanti intere, notazione binaria

Questa discussione è stata estrapolata (perché OT) da un altra discussione (Arduino UNO R4 - trigger di Schmitt sugli INPUT) e messa come discussione a se stante. - gpb01


Se si guarda allo standard puro, si, è vero, però è anche vero che gcc copre praticamente tutto lo scibile per quanto riguarda la compilazione di Arduino (e non solo), quindi occorre preoccuparsene solo nel raro caso si voglia usare qualcosa di diverso.

Ciao, Ale.

Si, ovvio che se rimani con gcc (che effettivamente è il 80% dei casi) allora è trasportabile, ma non sono sicuro che in altri ambienti ci sia la stessa estensione (tipo in Keil o altri ambienti professionali) :roll_eyes:

Guglielmo

Appunto, ma già non si parla più di Arduino, non hai gli sketch con estensione .ino con il loro setup() e loop(), etc. Sarei curioso di sapere se esiste un qualche core Arduino che non usa gcc, per ora non ne ho mai trovati.

Ciao, Ale.

Difficile ... sarebbero a pagamento (e pure cari) :grin:

Però considera che la stessa Microchip, per i suoi compilatori XC, utilizza gcc :smile:

Guglielmo

Il K&R riporta solo:

The value of an integer can be specified in octal or hexadecimal instead of decimal. A leading 0 (zero) on an integer constant means octal; a leading 0x or 0X means hexadecimal. For example, decimal 31 can be written as 037 in octal and 0x1f or 0x1F in hex. Octal and
37 hexadecimal constants may also be followed by L to make them long and U to make them unsigned: 0XFUL is an unsigned long constant with value 15 decimal.

Anche il ISO_IEC_9899_2024 (ANSI C) mi sembra che, nel capitolo sulle "costanti intere", riporti solo le suddette notazioni ...

... insomma, pare che il binario non sia contemplato :confused:

Guglielmo

E' curioso.
Vi è mai capitato di usare la notazione ottale ? Sembrerebbe più utile una notazione per costanti binarie che non l'ottale (non mi pare molto usato) :thinking:

Si forse, fintanto che si tratta di un byte, ma ti voglio vedere a leggere 32-bit in binario, si fa molto prima a scriverlo/leggerlo in esadecimale.

Mauro, ovvio esa utile, ma ottale ?? Strano che ai tempi della nascita del C non venne in mente una sintassi per scrivere costanti in binario ma venne in mente dell'ottale.
Solo una curiosità.

Non vorrei ricordare male, ma ci sono stati elaboratori con lunghezza parola a 36 bit ... che è un multiplo di 6 bit che ... si rappresentano bene con un ottale ... magari , all'epoca, era giustificato.

Guglielmo

Ottale sono 3 bit, dovete sapere che in quei anni prima del PC con il monitor video i programmi in linguaggio macchina si introducevano tramite tastierino numerici, e non tutti i display a 7 segmenti potevano visualizzare le lettere ABCDEF, ma solo da 0 a 9, addirittura se il display era un nixie a gas non esisteva proprio, in questi casi con 3 digit a 7 segmenti si poteva visualizzare un 8 bit in ottale

ricordavo bene ... c'avevo lavorato tutto il tempo che ero all'università ... serie Sperry Univac 1100 ... era a 36 bit :slight_smile:

Guglielmo

P.S.: per chi s lo ricorda, con Exec 8 (... la descrizione è in Spagnolo, non l'ho trovato in altre lingue)

mamma mia e' da quando ero piccolo che non sentivo piu' dire "Lunghezza della parola"... Le buone abituni siperdono sempre :worried:

Vediamo..

Precipitevolissimevolmente...

26 byte

Ma non è la più lunga

Mi sembra che i nomi upac diano meravigliose collane di perle

Incredibile

Iupac, non upac

Ma da furbofono non riesco a correggere....

1962..…mmm quello in foto deve essere di un paio di anni dopo perché mi pare di vedere dei led inventati proprio nel 1962 e probabilmente i display led a 7 segmenti saranno stati prodotti subito dopo ma questa macchina non li monta,
Tra parentesi detengo un modulo di memoria a nuclei che ho incorniciato in un quadretto :grin:

Beh ... di sicuro io l'ho usato alcuni anni dopo ... nel '62 stavo alle elementari :smile:

Se ricordo bene, quello che ho usato io era un 1110 ... anni '70.

... ce ne ho uno anche io :grin:

Guglielmo

Ci sono solo X e Y?...


La mia è questa