Visualizzazione dei risultati da 1 a 2 su 2

Visualizzazione discussione

  1. #2
    Come ho recentemente spiegato anche qui, sulle normali architetture gli array "bidimensionali" sono comunque memorizzati linearmente, poiché di norma non esiste altra possibilità fisica data la topologia di memoria impiegata. Si tratta semplicemente di adottare uno dei possibili ordinamenti (row major, column major...) e seguirlo coerentemente.

    Le celle delle EEPROM dati usualmente sono in grado di ospitare un singolo byte, ovvero 8 bit. L'effettiva occupazione di memoria dipende dal tipo di dato memorizzato nell'array C: char, short int, int, long int, tutti strettamente dipendenti dall'architettura e in genere variabili tra 1 e 4 byte (è sufficiente leggere la documentazione e/o eseguire un rapido test con sizeof()). Supponendo che si tratti di un array di int a 16 bit, si avranno 100 x 2 X (16 / 8) ovvero 400 locazioni o celle di EEPROM occupate. Per "spezzare" valori multibyte esistono fin dalla notte dei tempi appositi idiomi basati su shift e maschere AND, che si trovano squadernati davvero ovunque.

    Attenzione anche al fatto che la memoria EEPROM Flash ha per costruzione un limite fisico al numero di cicli di memorizzazione consentiti, dell'ordine di 10^5 o 10^6, ovviamente specificato tra gli absolute maximum ratings nel relativo datasheet.
    Ultima modifica di M.A.W. 1968; 10-07-2014 a 15:29
    • Un plauso a Grisha Perelman, raro esempio di genuino anticonformismo umano e scientifico.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.