java 格雷码_在 Java 中使用递归的方式将二进制转换为等效的格雷码

这是一个Java程序,用于将数字的二进制代码转换为等效的格雷码。

输入任何二进制数然后通过递归的方式得到格雷码作为输出。

import static java.lang.StrictMath.pow;

import java.util.Scanner;

public class Binary_Gray_Recursion

{

public static void main(String[] args)

{

int n, result = 0;

Scanner s = new Scanner(System.in);

System.out.print("Enter Binary number:");

n = s.nextInt();

Binary_Gray_Recursion obj = new Binary_Gray_Recursion();

result = obj.GrayCode(n, 0);

System.out.println("Gray Code:"+result);

}

int GrayCode(int x,int i)

{

int a, b, result = 0;

if(x != 0)

{

a = x % 10;

x = x / 10;

b = x % 10;

if((a & ~ b) == 1 || (~ a & b) == 1)

{

result = (int) (result + pow(10,i));

}

return GrayCode(x, ++i) + result;

}

return 0;

}

}

输出:

$ javac Binary_Gray_Recursion.java

$ java Binary_Gray_Recursion

Enter Binary number:1001

Gray Code:1101

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值