几天前,我想出了一个缩短位的想法。
首先(对于7位位数据,例如“1000000”),如果“1000000”的第二个数字为“0”,则设为“x”,否则(如果为“1”)设为“y”。
7 位二进制数字中的第二个数字称为“标识符分隔符”。
标识符分隔符“计数”(++)之后的所有内容,例如
“1000000”->“x0”
^
“1000001”->“x1”
^
“1000011”->“x2”
^
等。
因此,结果如下所示:
1000000 -> x0
1000001 -> x1
1000011 -> x2
1000111 -> x3
1001111 -> x4
1011111 -> x5
1100000 -> y0
1100001 -> y1
1100011 -> y2
1100111 -> y3
1101111 -> y4
1111111 -> y5
但是当然,所有计算机可以读取的是 1s(开)和 0s(关)。
有没有办法使用 x's 和 y's 存储/东西?
并发表评论
嗯,它是,但它根本不是一个原创的想法。
这基本上是 SSD 制造商在从能够存储的 SLC(单级单元)
0
或能够在每个 NAND 调用中存储、、、、、的1
MLC(多级单元)过渡到能够存储 8 个不同值的 TLC 时所做的事情0
,现在甚至 QLC 也能够在每个位置存储 16 个不同的值。1
x
y
在 SSD 之前,这种非二进制“信号星座”的概念被广泛用于调制解调器和无线电。
信息论中的概念被命名为“信道编码”,早在 1928 年 Hartley 就已经对其进行了理论分析,然后 Claude Shannon 准确预测了在给定频率范围内使用多级信号可以传输多少信息。
相反,如果您在使用相同的两个二进制符号时减少存储消息所需的位数(
0
通常1
尽管它们的名称无关紧要),那么您正在处理压缩,这也是信息论中非常成熟的领域。但是您的问题显然引入了新符号。