簡體   English   中英

C#uint64 —存儲數據?

[英]C# uint64 — Store data?

除了將x位數字用於一件,將y位數字用於其他東西之外,是否有更好的方法將數字數據存儲在uint64中? (總共20位數字)

我正在嘗試存儲有關對象的信息,而沒有制作結構或類的開銷。 我需要以最小的開銷盡快獲取/設置。

因此,據我所知,體素編碼。 如果要存儲一個一個定義的“塊”數據,則可以使用時間間隔樹 ,其中每個節點的鍵是運行的起點,而值是運行的坐標。 象征例子

另外,您永遠不要將單個塊存儲為類,但是可以通過以下方式設置塊的設置,例如塊3x3:

在此處輸入圖片說明

如您所見,我只是將兩位的9個塊的數據位置編碼了。這是一種簡化的方法,其數據大小不是問題,而是快速迭代的實現,需要某種算法。

在開始使用Voxels之前,請閱讀以下內容

讓我們制作一個體素引擎

該死,體素數據很大

體素引擎無處不在...

Voxel引擎–數據存儲

互聯網上有很多答案,但是這些都會為您提供所需的信息。 我認為您在誤解的另一個關鍵字是VOXEL

如果使用uint64ulong不是固定要求,建議您使用BigInteger類 它旨在有效地存儲任意數量的數字。

有效率嗎? 如果您對代碼進行反編譯,則會看到它們在內部存儲了一個位數組來管理數字。 也就是說,使用N位,它存儲的數字最大為2^N - 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM