1、首先标准格雷码时:对于一个n位二进制数,从后向前一次为:0,1,2,,,n-2,n-1,将n-2位置上的数和n-1位置上的数异或即相同为0不同为1,得到的结果位n-1位上的最终结果。
2、下面是Java代码:Scanner类得到的一串二进制数先转换成一个字符串,然后再做处理
package geleima;
import java.util.Scanner;
public class binaryToGeleima {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String result=scanner.nextInt()+"";
char c[]=new char[result.length()];
for(int i=0;i<result.length();i++){
c[i]=result.charAt(i);
}
for(int i=result.length()-2;i>0;i--){
if(c[i]==c[i-1])
c[i]='0';
else {
c[i]='1';
}
}
for(int i=0;i<result.length();i++){
System.out.print(c[i]);
}
}
}