生成n位格雷码
来源:互联网 发布:可靠韩国代购淘宝店铺 编辑:程序博客网 时间:2024/06/05 23:48
生成n位格雷码
在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code),另外由于最大数与最小数之间也仅一位数不同,即“首尾相连”,因此又称循环码或反射码。
虽然自然二进制码可以直接由数/模转换器转换成模拟信号,但在某些情况,例如从十进制的3转换为4时二进制码的每一位都要变,能使数字电路产生很大的尖峰电流脉冲。而格雷码则没有这一缺点,它在相邻位间转换时,只有一位产生变化。
找规律
0,1
00,01,11,10
000,001,011,010,110,100,101,111
思路一:n+1位格雷码的集合 = n位格雷码集合(顺序)加前缀0 + n位格雷码集合(逆序)加前缀1
部分伪代码
a(n+1) 长度 = a(n) *2m= a(n).lengthfor(int i=0;i<m;i++){s[i]="0"+ temp[i];s[m-1-i]="1"+temp[m-1-i]}
每遍递归里 一次遍历就好
思路二:n+1位格雷码的集合 = n位标准码集合 和 n位标准码集合右移1位 做异或
0 0
- 生成n位格雷码
- 生成N位格雷码
- 生成n位格雷码
- 生成n位格雷码
- 生成所有 n 位格雷码
- 生成n位格雷码
- n位格雷码的生成
- 两种n位格雷码生成算法
- 随即生成n个数
- 随机生成n个数
- 随机生成n个数
- 随机生成n个数
- 生成1~n排列
- 算法生成N芒星
- 生成n个1
- 生成1-n排列
- 生成N位格雷码的递归和递推写法
- 狸猫的笔试——n位格雷码的生成
- iOS 创建一个宏或者头文件类整个工程任何位置都可使用的方法
- android 获取虚拟键盘
- win32 绘制超酷界面(二)
- 贝塞尔曲线动画简单使用
- Spring Framework源码读取-配置
- 生成n位格雷码
- Android中仿微信选择图片和拍照
- 8.python学习笔记:python发送邮件
- tar解压文件到指定目录出现Not found in archive
- Qt中QString::toStdString().c_str() 偶尔存在问题
- SHA加密(单向)
- NGUI聊天信息中插入动态表情
- Android内存优化总结【整理】
- ndc iptables ip命令积累ing