概述
求一个数的格雷码
在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code),另外由于最大数与最小数之间也仅一位数不同,即“首尾相连”,因此又称循环码或反射码。 (此描述来自百度)
下面将用java代码来打印某个数的 gray 码。
/*
功能:求一个数的 gray 码
输入:随机输入一个数字
输出:这个数的 gray 码
*/
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("输入一个数字:");
int num = input.nextInt();
int b = (int)(Math.log(num)/Math.log(2)); // gray 码的位数为b+1 位
System.out.print("这个数的Gray码为:");
for( ; b>=0; b--){ //从高位到低位,每循环一次,输出一位
int d = (int)Math.pow(2,b);
if(num >= Math.pow(2,b)){
num = d-1-(num-d);
System.out.print(1);
}else{
System.out.print(0);
}
}
}
}
最后
以上就是畅快发箍为你收集整理的求一个数的格雷码的全部内容,希望文章能够帮你解决求一个数的格雷码所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复