实际上有可能缩短计算机位数吗?

实际上有可能缩短计算机位数吗?

几天前,我想到了一个缩短比特的想法。

首先(对于 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

但当然,计算机可以读取的只有 1(开)和 0(关)。

有没有办法使用 x 和 y 来存储/某事?

答案1

但当然,计算机可以读取的只有 1(开)和 0(关)。

有没有办法使用 x 和 y 来存储/某事?

这一切都是我的原创想法。

并评论

我只是认为这对于其他事情(例如存储等)来说是一个好主意

嗯,确实如此,但这根本不是一个原创的想法。

这基本上就是 SSD 制造商在从能够存储0或在每个 NAND 调用中存储、、的SLC 1(单级单元)过渡到能够存储 8 个不同值的 TLC,以及现在甚至能够在每个位置存储 16 个不同值的 QLC 时所做的工作。01xy

在 SSD 出现之前,这种非二进制“信号星座”的概念被广泛应用于调制解调器和无线电中。

信息论中的概念叫做“信道编码”,1928 年 Hartley 进行了理论分析然后克劳德·香农准确预测了使用多级信号在给定频率范围内可以传输多少信息。


0相反,如果你使用相同的两个二进制符号(通常1它们的名称并不重要)来减少存储消息所需的位数,那么你正在处理的是压缩,这也是信息论中非常成熟的领域。但你的问题显然引入了新的符号。

相关内容