Gray Code
来源:互联网 发布:穆勒plc手动编程方法 编辑:程序博客网 时间:2024/05/22 13:56
下表为几种自然二进制码与格雷码的对照表:
十进制数自然二进制数格雷码000000000100010001200100011300110010401000110501010111601100101701110100810001100910011101101010111111101111101211001010131101101114111010011511111000一般的,普通二进制码与格雷码可以按以下方法互相转换:
二进制码->格雷码(编码):从最右边一位起,依次将每一位与左边一位异或(XOR),作为对应格雷码该位的值,最左边一位不变(相当于左边是0);
格雷码-〉二进制码(解码):从左边第二位起,将每位与左边一位解码后的值异或,作为该位解码后的值(最左边一位依然不变)。
public class Solution { public List<Integer> grayCode(int n) { int max = 1<<n; List<Integer> list = new ArrayList<Integer>(); for(int i = 0; i < max; i++){ list.add((i>>1)^i); } return list; }}
0 0
- Gray Code
- Gray Code
- gray code
- Gray Code
- Gray Code
- Gray Code
- Gray Code
- Gray Code
- Gray Code
- Gray Code
- Gray Code
- Gray Code
- Gray Code
- Gray Code
- Gray Code
- Gray Code
- Gray Code
- Gray Code
- Eclipse安装subclipse离线包及测试方法
- 经典面试题--字符串系列(二)--找出第一个出现一次的字符
- iphone数据存储之-- Core Data的使用(一)
- 黑马程序员_关于黑马java班入学测试技术分享<前5题>(一)
- NYOJ 448 寻找最大数
- Gray Code
- 设计模式归纳总结
- boost 之定时器的使用
- 全面挖掘Java Excel API 使用方法
- constvar: 部分静态效果展示
- iphone数据存储之-- Core Data的使用(二)
- JqueryEasyUI 解决IE下datagrid无法刷新的问题
- hdu 4036 - Rolling Hongshu
- KISS原则