是否可以将 8 个数字(0-3)压缩到少于两个字节?
Is it possible to compress 8 numbers (0-3) to less than two bytes?
给定一个由 0-3 之间的 8 个数字组成的数组,是否可以将其压缩到小于 2 个字节?
即:
int[] 数组 = { 3,2,0,0,1,0,2,2 }
通过将 3,2,0,0 和 1,0,2,2 组合在一起,我可以创建字节 11100000 (224) 和 01001010 (74),但我很好奇是否有其他方法可以也许通过编码将其减少到 2 个字节以下?
8 个数字,每个数字有 4 个选择,将允许 48=2(8⋅2) 种不同的组合,因此您需要两个字节来编码所有这些。
根据您输入的详细信息,可能找到一种编码,其中典型输入被编码为少于两个字节。但是你为此付出了代价,因为非典型输入需要两个以上的字节。
给定一个由 0-3 之间的 8 个数字组成的数组,是否可以将其压缩到小于 2 个字节?
即:
int[] 数组 = { 3,2,0,0,1,0,2,2 }
通过将 3,2,0,0 和 1,0,2,2 组合在一起,我可以创建字节 11100000 (224) 和 01001010 (74),但我很好奇是否有其他方法可以也许通过编码将其减少到 2 个字节以下?
8 个数字,每个数字有 4 个选择,将允许 48=2(8⋅2) 种不同的组合,因此您需要两个字节来编码所有这些。
根据您输入的详细信息,可能找到一种编码,其中典型输入被编码为少于两个字节。但是你为此付出了代价,因为非典型输入需要两个以上的字节。