不使用任何外部计数器或其他状态,我正在寻找一个高效的函数,它接受一个n位值(大约32位)并返回格雷码中的下一个值。 也就是说:int fn(int x) { int y = gray_to_binary(x); y = y + 1; return binary_to_...
我有一个小型的8位处理器,其上有一个N到M解码器用于某些输出线路 - 例如,对于5到32位情况,我写入00101并改变第5位状态。 输出的唯一接口是状态更改,没有读回。 该设备快速(但随机地)计算发生的事件,并应将此计数作为“单比特更改”代码提供给另一个设备。 另一个设备通过并行读取输出引脚...
针对通信系统,我需要一种特殊类型的格雷码。 两个连续的值仅在一个位上不同,就像所有的格雷码一样。 同一位上的两次转换应至少相隔一些任意数量的值。此距离被记为mrl以表示最小运行长度。 当编码翻转时,我不关心最后一个编码到第一个编码的距离,mrl没有限制。 一个这样的格雷码示例是,对于5...
我正在尝试建立一个结构化光环境来进行3D扫描。 据我所知,如果我选择使用灰码来重构3D模型,我必须实现在2的幂次方(2^x,x = 0~10)中编码的特定图案。 也就是说,这些图案的分辨率至少为1024 x 1024。 但是,如果我的DLP投影仪只支持高达800 x 480的分辨率呢...
只是出于好奇,除了二进制,是否还有其他进位方式定义了格雷码呢? 我尝试在三进制中计数,写下连续的值,只改变一个trit。我已经能够枚举所有的值直到26 (3**3-1),它似乎是有效的。 000 122 200 ...
在.NET框架中是否有内置的格雷码数据类型?或者在格雷码和二进制之间进行转换的工具?我可以自己做,但如果轮子已经被发明了...