Home »
        Rust »
        Rust Programs
    
    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 »
    
    
    
    
    
    
    
    
  
    Advertisement
    
    
    
  
  
    Advertisement