所以,我使用C并且我有6种命令编号作为0-5,想要将它们中的3个组合起来,并将组合保存在单个字节中。所以问题是如何编码这些数字?例如,如果我使用二进制编码,因此5是101,那么我不能保存555,因为101101101有9位而一个字节只有8。 谢谢你的关注。
答案 0 :(得分:8)
将这三个数字视为三位数的基数为6的数字,并计算其值:
value = num1 * 36 + num2 * 6 + num3
num1 = value / 36
num2 = (value / 6) % 6
num3 = value % 6
该值将在0到215的范围内,因此它适合一个字节。