我一直在爲Pebble開發軟件。這是我第一次與C一起工作,而我正在努力讓我的頭腦在如何管理程序中的信息/數據。 我習慣於能夠擁有數千個條目的多維數組。隨着卵石,我們非常有限。在空間有限的情況下有效存儲信息的不同方式
我可以談談我的計劃的要求,但很高興看到有關該主題的任何形式的討論。
我正在構建的應用程序需要在每次按下按鈕時存儲正在運行的數據源。理想情況下,我想在每次按下時存儲一個二進制值和兩個小整數值。我想利用Pebble上的本地存儲,每個陣列限制爲256字節,這是一個挑戰。
我曾想過使用自定義結構 - 並有多個這些數組,並確保檢查每個數組不超過256字節標記。它看起來很雜亂,管理起來很複雜......我是否錯過了一些基本上簡單的東西,還是它需要變得複雜?
目前我的程序只存儲二進制值,我根本沒有打擾小整數值。
您希望存儲的小整數的範圍是什麼?例如,0-65535,0-255,較小? –
你想要打包你的數據越緊密,它會變得越來越混亂和複雜。這是數據表示中空間與複雜性/時間之間的折衷。最簡單的非常緊湊的打包方案是對每種類型的數據項使用最小數量的比特。例如,如果數據項可以取3個值,則只需要兩位。如果你有另一個只需要5位的值,你可以把它們都打包成一個字節。有可能比這更緊張,但它也變得更加混亂。 :) – lurker
如果數組大小有限,則可以使用包含每個數組的256個字節的數組和指向下一個結構的指針的鏈接列表。 – michaelmeyer