Per il fatto che le immagini pesino tanto è anche perchè sono a colori...Originariamente inviato da /* Coder */
Certamente, le macchine moderne lavorano sugli "ottetti".
Il tipo BOOL è un typedef a qualcosa. E' comodo pensarlo come un bit solo a livello di programmazione, ma in realtà non lo potrà mai essere.
Questo per il fatto che non puoi scrivere un bit in memoria, al massimo puoi sovrascrivere gli altri 7 e modificarne 1, ma tu scrivi sempre almeno 1 byte.
Fai partire photoshop, apri una immagine e guarda quanto occuapa in memoria, ci sarà un motivo.
L'array per una lavagna tipo quella che ho fatto, ma che supporti i colori deve per forza usare tre array (uno per colore) di tipo char o comunque deve sicuramente usare qualcosa di più di un bool...
GiàUsa | e & con un tuo sistema di coordinate se vuoi consumare meno risorse.
Non puoi allocare 1 bit in memoria.
Ciao !neppure in assembler lo si può fare, ma credevo che con le variabili di tipo bool (o come minimo con gli array di tipo bool) pensasse il comilatore a usare | e & in questo modo:
array[0] = il primo bit del primo char
array[1] = il secondo bit del primo char
...
array[8] = l'ottavo bit del primo char
array[9] = il primo bit del secondo char
e quindi
array[8] = true
il compilatore lo avrebbe tradotto in
primo_char | 1
e
array[7] = false
sarebbe stato tradotto in
primo_char & 253
Ho sempre pensato che agisse in questo modo, se no dov'è la comodità del tipo bool?
Chissà se con l'overloading dell'operatore [] per il tipo bool non riesca a fare qualcosa...
Bho, domani provo, ora son fuso...
Grazie per i chiarimenti
![]()
PS: Ho visto che anche i campi di bit soffrono dello stesso problema:
char x : 4;
occupa un intero byte... come un char completo Ma allora a cosa servono? :master: :master: :master: Non ne vedrei alcuna utilità se non quella di perfezionare il programma (facendo diminuire le risorse impiegate) in casi estremi tipo il mio

neppure in assembler lo si può fare, ma credevo che con le variabili di tipo bool (o come minimo con gli array di tipo bool) pensasse il comilatore a usare | e & in questo modo:
...


Rispondi quotando