📌  相关文章
📜  将八进制数转换为二进制数的程序

📅  最后修改于: 2021-04-22 03:40:02             🧑  作者: Mango

给定八进制数作为输入,任务是将该数字转换为二进制数。

例子:

Input : Octal = 345
Output : Binary = 011100101
Explanation : 
Equivalent binary value of 3: 011
Equivalent binary value of 4: 100
Equivalent binary value of 5: 101

Input : Octal = 120
Output : Binary = 001010000

八进制数:八进制数是一个位置数字系统,其基数或基数为8,并使用八个不同的符号。

二进制数:二进制数是以2为基的二进制数系统中表示的数字,它仅使用两个符号:0(零)和1(一)。

下面是上述方法的实现:

C++
// C++ program to convert
// Octal number to Binary
  
#include 
using namespace std;
  
// Function to convert an
// Octal to Binary Number
string OctToBin(string octnum)
{
    long int i = 0;
  
    string binary = "";
  
    while (octnum[i]) {
        switch (octnum[i]) {
        case '0':
            binary += "000";
            break;
        case '1':
            binary += "001";
            break;
        case '2':
            binary += "010";
            break;
        case '3':
            binary += "011";
            break;
        case '4':
            binary += "100";
            break;
        case '5':
            binary += "101";
            break;
        case '6':
            binary += "110";
            break;
        case '7':
            binary += "111";
            break;
        default:
            cout << "\nInvalid Octal Digit "
                 << octnum[i];
            break;
        }
        i++;
    }
  
    return binary;
}
  
// Driver code
int main()
{
    // Get the Hexadecimal number
    string octnum = "345";
  
    // Convert Ocatl to Binary
    cout << "Equivalent Binary Value = "
         << OctToBin(octnum);
  
    return 0;
}


Java
// Java program to convert
// Octal number to Binary
import java.util.*;
class Solution
{
   
// Function to convert an
// Octal to Binary Number
static String OctToBin(String octnum)
{
    long i = 0;
   
    String binary = "";
      
    while (iPython3
# Python3 program to convert
# Octal number to Binary
  
# defining a function that returns
# binary equivalent of the number
def OctToBin(octnum):
      
    binary = "" # initialising bin as String
      
    # While loop to extract each digit
    while octnum != 0:
          
        # extracting each digit
        d = int(octnum % 10)
        if d == 0:
              
            # concatination of string using join function
            binary = "".join(["000", binary])
        elif d == 1:
              
            # concatination of string using join function
            binary = "".join(["001", binary])
        elif d == 2:
              
            # concatination of string using join function
            binary = "".join(["010", binary])
        elif d == 3:
              
            # concatination of string using join function
            binary = "".join(["011", binary])
        elif d == 4:
              
            # concatination of string using join function
            binary = "".join(["100", binary])
        elif d == 5:
              
            # concatination of string using join function
            binary = "".join(["101", binary])
        elif d == 6:
              
            # concatination of string using join function
            binary = "".join(["110",binary])
        elif d == 7:
              
            # concatination of string using join function
            binary = "".join(["111", binary])
        else:
              
            # an option for invalid input
            binary = "Invalid Octal Digit"
            break
  
        # updating the oct for while loop
        octnum = int(octnum / 10)
          
    # returning the string binary that stores
    # binary equivalent of the number
    return binary
  
# Driver Code
octnum = 345
  
# value of function stored final_bin
final_bin = "" + OctToBin(octnum)
  
# result is printed
print("Equivalent Binary Value =", final_bin)
  
# This code is contributed by Animesh_Gupta


C#
// C# program to convert Octal number to Binary
  
class GFG
{
  
// Function to convert an
// Octal to Binary Number
static string OctToBin(string octnum)
{
    int i = 0;
  
    string binary = "";
      
    while (i < octnum.Length) 
    {
          
        char c = octnum[i];
        switch (c) 
        {
        case '0':
            binary += "000";
            break;
        case '1':
            binary += "001";
            break;
        case '2':
            binary += "010";
            break;
        case '3':
            binary += "011";
            break;
        case '4':
            binary += "100";
            break;
        case '5':
            binary += "101";
            break;
        case '6':
            binary += "110";
            break;
        case '7':
            binary += "111";
            break;
        default:
            System.Console.WriteLine( "\nInvalid Octal Digit "+ 
                                                    octnum[i]);
            break;
        }
        i++;
    }
  
    return binary;
}
  
// Driver code
static void Main()
{
    // Get the Hexadecimal number
    string octnum = "345";
  
    // Convert Ocatl to Binary
    System.Console.WriteLine("Equivalent Binary Value = " + 
                                         OctToBin(octnum));
}
}
  
// This code is contributed by mits


PHP


输出:
Equivalent Binary Value = 011100101