Rust program to convert binary to Gray code using recursion

Rust | Convert Binary to Gray Code: Given a binary number, we have to convert it into Gray code using recursion.
Submitted by Nidhi, on October 12, 2021

Problem Solution:

In this program, we will create a recursive function to convert a binary number into gray code and return the result to the calling function.

Program/Source Code:

The source code to convert binary to Gray code using recursion is given below. The given program is compiled and executed successfully.

// Rust program to convert binary 
// to Gray code using recursion

fn bin2gray(n:i32)->i32
{
    if !(n>0)
    {
        return 0;
    }   
    let a:i32 = n % 10;
    let b:i32 = n / 10 % 10;
         
    if (a>0 && !(b>0)) || (!(a>0) && (b>0))        
    {
            return (1 + 10 * bin2gray(n / 10));
    }
 
    return (10 * bin2gray(n / 10));
}

fn main() {
    let num:i32=11011011;
    
    let res = bin2gray(num);

    println!("The Gray codr is {}.",res);
}

Output:

The Gray code is 10110110.

Explanation:

In the above program, we created two functions bin2gray() and main(). The bin2gray() function is a recursive function, which is used to convert a binary number into Gray code and return the result to the calling function.

In the main() function, we called the bin2gray() function and printed the result.

Rust Functions Programs »





Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.