提问人:Isaac Lenchus 提问时间:9/19/2023 更新时间:9/20/2023 访问量:58
如何按顺序压缩 256^3 个唯一数据点。每个数据点都是 1 到 255 之间的值
How to compress 256^3 unique data points in order. Each data point is a value from 1 to 255
问:
我正在尝试将 256^3 个数据点压缩成一个 256 位或更短的字符串(仅使用以 10 为基数的数字)。我已经尝试了一些东西,我将在下面列出。
我试图在括号之间的加法和减法之间切换。例如:255+(122-(32+(10-3)))),但我不知道如何在刚拿到总和时反转它并取回原始数字。
我不知道还有什么方法可以将这么多数据点压缩成一个 256 或更少的数字字符串。(因为从理论上讲,这应该是可能的,因为 256 位长字符串中的总值比我的数据点的值还要多。
我需要一种方法来不可知地使用这种语言。
答:
1赞
Me again
9/19/2023
#1
每个数据点几乎都是 1 个字节(255 个唯一值,而不是 256 个)。如果有 1600 万个数据点 (256^3),则有 16 MB 的数据。
您的字符串有 256 位从 0 到 9 的数字,因此它可以存储 10^256 个状态,或大约 106 个字节。因此,除非这些值彼此之间有一些极端的依赖关系,否则无法将 16MB 压缩到 106B
评论
0赞
Isaac Lenchus
9/19/2023
每个值都表示特定坐标 (X,Y,Z) 处的特定块 ID。如果我可以按顺序传输 ID,那么我就不需要传输每个块的坐标(这将占用更多的数据)。那么有没有办法做到这一点(或者我必须削减到多少块 ID?
0赞
Me again
9/19/2023
退后一步,想想你想做什么。您正在尝试将数百万个值压缩为少数几位数字(少于一千位)。每个数字 10 个值是不够的。
0赞
Isaac Lenchus
9/19/2023
有没有办法用 10 串 256 位数字表示数据?(我的项目中最多可以有 10 个云变量 [问题是您每 0.1 秒只能更新 1 个变量]。 有更多的工作空间可以让它工作吗?
0赞
Mark Adler
9/20/2023
不。。。。。。。。。。。。。
0赞
Mark Adler
9/20/2023
#2
不。只是没有。
为了弄清楚你离能够做你想做的事情还有多远,假设每个坐标的所有 255 个值的可能性相等,你要求以 850 位存储 1.34 亿位信息!在评论中,您询问大约 10 个 256 位字符串,在这种情况下,您将有 8500 位可以放入它。你差了 160,000 倍,或者 16,000 倍,其中有 10 个。
我无法想象你为什么会认为“因为理论上应该是可能的”。
上一个:如何计算两个浮点数的平均值?
评论