logo

Program för decimal till binär konvertering

Med ett decimaltal som inmatning måste vi skriva ett program för att omvandla det givna decimaltalet till ett ekvivalent binärt tal.

javafx på eclipse

Exempel på Decimal till binär :

  Input : 7 Output : 111 Input : 10 Output : 1010 Input: 33 Output: 100001>
Rekommenderad praxisDecimal till binärTesta!

Brute force Approach

Till exempel :
Om decimaltalet är 10.
Steg 1 : Återstoden när 10 divideras med 2 är noll. Därför är arr[0] = 0.
Steg 2 : Dividera 10 med 2. Nytt nummer är 10/2 = 5.
Steg 3 : Resten när 5 divideras med 2 är 1. Därför är arr[1] = 1.
Steg 4 : Dividera 5 med 2. Nytt nummer är 5/2 = 2.
Steg 5 : Återstoden när 2 divideras med 2 är noll. Därför är arr[2] = 0.
Steg 6 : Dividera 2 med 2. Nytt tal är 2/2 = 1.
Steg 7 : Resten när 1 divideras med 2 är 1. Därför är arr[3] = 1.
Steg 8 : Dividera 1 med 2. Nytt tal är 1/2 = 0.
Steg 9 : Eftersom nummer blir = 0. Skriv ut matrisen i omvänd ordning. Därför är det ekvivalenta binära talet 1010.



Diagrammet nedan visar ett exempel på att konvertera decimaltalet 17 till ett ekvivalent binärt tal.

Decimal till binär




Nedan är implementeringen av ovanstående idé.

C++
// C++ program to convert a decimal // number to binary number #include  using namespace std; // function to convert decimal to binary void decToBinary(int n) {  // array to store binary number  int binaryNum[32];  // counter for binary array  int i = 0;  while (n>0) { // lagrar resten i binär array binaryNum[i] = n % 2;  n = n/2;  i++;  } // utskrift av binär array i omvänd ordning för (int j = i - 1; j>= 0; j--) cout<< binaryNum[j]; } // Driver program to test above function int main() {  int n = 17;  decToBinary(n);  return 0; }>
C
// C Code to convert Decimal number into Binary #include  void decToBinary(int n) {  // array to store binary number  int binaryNum[32];    // counter for binary array  int i = 0;  while (n>0) { // lagrar resten i binär array binaryNum[i] = n % 2;  n = n/2;  i++;  } // skriver ut binär matris i omvänd ordning för (int j = i - 1; j>= 0; j--) printf('%d', binärtNum[j]); } // Drivrutinsprogram för att testa ovan funktion int main() { int n = 17;  decToBinary(n);  returnera 0; }>
Java
// Java program to convert a decimal // number to binary number import java.io.*; class GFG {  // function to convert decimal to binary  static void decToBinary(int n)  {  // array to store binary number  int[] binaryNum = new int[32];  // counter for binary array  int i = 0;  while (n>0) { // lagrar resten i binär array binaryNum[i] = n % 2;  n = n/2;  i++;  } // skriver ut binär array i omvänd ordning för (int j = i - 1; j>= 0; j--) System.out.print(binaryNum[j]);  } // drivrutinsprogram public static void main(String[] args) { int n = 17;  decToBinary(n);  } } // Bidragit av Pramod Kumar>
C#
// C# program to convert a decimal // number to binary number using System; public class GFG {  // function to convert decimal  // to binary  static void decToBinary(int n)  {  // array to store binary number  int[] binaryNum = new int[32];  // counter for binary array  int i = 0;  while (n>0) { // lagrar återstoden i // binär array binaryNum[i] = n % 2;  n = n/2;  i++;  } // skriver ut binär array // i omvänd ordning för (int j = i - 1; j>= 0; j--) Console.Write(binaryNum[j]);  } // Driver Code public static void Main() { int n = 17;  decToBinary(n);  } } // Den här koden är bidragit från Sam007.>
Javascript
>
PHP
 // PHP program to convert a decimal // number to binary number // function to convert // decimal to binary function decToBinary($n) { // array to store // binary number $binaryNum; // counter for binary array $i = 0; while ($n>0) { // lagrar rester // i binär array $binaryNum[$i] = $n % 2; $n = (int)($n / 2); $i++; } // skriver ut binär array // i omvänd ordning för ($j = $i - 1; $j>= 0; $j--) echo $binaryNum[$j]; } // Förarkod $n = 17; decToBinary($n); // Denna kod är bidragit av m_kit ?>>
Python3
# Python3 program to convert a  # decimal number to binary number # function to convert # decimal to binary def decToBinary(n): # array to store # binary number binaryNum = [0] * n # counter for binary array i = 0; while (n>0): # lagrar resten # i binär array binaryNum[i] = n % 2 n = int(n / 2) i += 1 # skriver ut binär array # i omvänd ordning för j i range(i - 1, -1, -1): print(binaryNum[j], end = '') # Driver Code n = 17 decToBinary(n) # Denna kod har bidragit med mits>

Produktion
10001>

Tidskomplexitet: O(logn) & extra utrymme: O(1)

Vi kan använda bitvisa operatorer för att utföra ovanstående jobb. Observera att bitvisa operatorer fungerar snabbare än aritmetiska operatorer som används ovan.

C++
// CPP program to Decimal to binary conversion // using bitwise operator // Size of an integer is assumed to be 32 bits #include  using namespace std; // Function that convert Decimal to binary void decToBinary(int n) {  // Size of an integer is assumed to be 32 bits  for (int i = 31; i>= 0; i--) { int k = n>> i;  om (k & 1) cout<< '1';  else  cout << '0';  } } // driver code int main() {  int n = 32;  decToBinary(n); }>
C
// C language to convert Decimal to binary number // using bitwise operator // Size of an integer is assumed to be 32 bits #include  // Function that convert Decimal to binary int decToBinary(int n) {  // Size of an integer is assumed to be 32 bits  for (int i = 31; i>= 0; i--) { int k = n>> i; // högerskift if (k & 1) // hjälper oss veta tillståndet för första bit printf('1');  else printf('0');  } } // drivrutinskod int main() { int n = 32;  decToBinary(n); }>
Java
// Java program to Decimal to binary conversion // using bitwise operator // Size of an integer is assumed to be 32 bits class gfg {  // Function that convert Decimal to binary  public void decToBinary(int n)  {  // Size of an integer is assumed to be 32 bits  for (int i = 31; i>= 0; i--) { int k = n>> i;  if ((k & 1)> 0) System.out.print('1');  else System.out.print('0');  } } } class geek { // drivrutinskod public static void main(String[] args) { gfg g = new gfg();  int n = 32;  g.decToBinary(n);  } } // Denna kod bidrar med mits>
C#
// C# program to Decimal to binary conversion // using bitwise operator // Size of an integer is assumed to be 32 bits using System; class gfg {  // Function that convert Decimal to binary  public void decToBinary(int n)  {  // Size of an integer is assumed to be 32 bits  for (int i = 31; i>= 0; i--) { int k = n>> i;  if ((k & 1)> 0) Console.Write('1');  else Console.Write('0');  } } } class geek { // drivrutinskod public static int Main() { gfg g = new gfg();  int n = 32;  g.decToBinary(n);  returnera 0;  } }>
Javascript
>
PHP
 // PHP program to Decimal to binary conversion // using bitwise operator // Size of an integer is assumed  // to be 32 bits // Function that convert Decimal to binary function decToBinary($n) { // Size of an integer is // assumed to be 32 bits for ( $i = 31; $i>= 0; $i--) { $k = $n>> $i; if ($k & 1) eko '1'; annars eko '0'; } } // Förarkod $n = 32; decToBinary($n); // Denna kod är bidragit av aj_36 ?>>
Python3
# Python3 program to Decimal # to binary conversion using # bitwise operator # Size of an integer is # assumed to be 32 bits # Function that convert # Decimal to binary def decToBinary(n): # Size of an integer is # assumed to be 32 bits for i in range(31, -1, -1): k = n>> i if (k & 1): print('1', end='') else: print('0', end='') # Driver Code n = 32 decToBinary(n ) # Den här koden bidrar med mits>

Produktion
00000000000000000000000000100000>

Tidskomplexitet: O(1)

loop itererar konstant(32) antal gånger varje gång även för litet antal



Hjälputrymme: O(1)

Effektivt tillvägagångssätt

Det är ett annat effektivt sätt att konvertera decimal till binär med hjälp av höger skift(>>) och And(&) operator. Här kommer vi bara att använda binära operatörer som vanligtvis är väldigt snabba i beräkningen.

C++
#include  using namespace std; string DecimalToBinary(int num) {  string str;  while(num){  if(num & 1) // 1  str+='1';  else // 0  str+='0';  num>>=1; // Höger Skift med 1 } return str; } void reverse(string str) { for(int i=str.size()-1 ; i>=0 ; i--) cout<< str[i];  } int main() {  int num = 59;  cout<< 'Binary of num 59 is: ';  reverse( DecimalToBinary(num) );  return 0; }>
Java
// Java program to implement the // above approach import java.io.*; class GFG  {  // the converts decimal to binary base  static String DecimalToBinary(int num)  {  String str = '';  while (num>0) { if ((tal & 1) == 1) // 1 str += '1';  annat // 0 str += '0';  num>>= 1; // Höger Skift med 1 } return str;  } // reverse the string static void reverse(String str) { for (int i = str.length() - 1; i>= 0; i--) System.out.print(str.charAt(i));  } public static void main(String[] args) { int num = 59;  System.out.print('Binär av nummer 59 är: ');  reverse(DecimalToBinary(num));  } } // Denna kod bidrar med fasning17>
C#
// C# program to implement the // above approach using System; public class GFG {    // this converts decimal to binary base  public static string DecimalToBinary(int num)  {  string str = '';  while (num>0) { if ((tal & 1) == 1) // 1 str += '1';  annat // 0 str += '0';  num>>= 1; // Höger Skift med 1 } return str;  } // reverse the string public static void reverse(String str) { for (int i = str.Length - 1; i>= 0; i--) Console.Write(str[i]);  } // Driver Code public static void Main(string[] args) { int num = 59;  Console.Write('Binär av nummer 59 är: ');  reverse(DecimalToBinary(num));  } } // denna kod bidrog med fasning17>
Javascript
>
Python3
# Python3 program to implement the above approach # function to convert the decimal number # to binary number def DecimalToBinary(num): strs = '' while num: # if (num & 1) = 1 if (num & 1): strs += '1' # if (num & 1) = 0 else: strs += '0' # right shift by 1 num>>= 1 returnerar strs # funktion för att vända strängen def reverse(strs): print(strs[::-1]) # Driver Code num = 59 print('Binär av num 59 är:', end=' ') reverse(DecimalToBinary(num)) # Denna kod bidrar med fasning17>

Produktion
Binary of num 59 is: 111011>

Tidskomplexitet: O(log n) & extra utrymme: O(1)

Decimal till binär konvertering kan också göras utan att använda arrayer.

C++
// C++ implementation of the approach #include  #include  using namespace std; #define ull unsigned long long int // Function to return the binary // equivalent of decimal value N int decimalToBinary(int N) {  // To store the binary number  ull B_Number = 0;  int cnt = 0;  while (N != 0) {  int rem = N % 2;  ull c = pow(10, cnt);  B_Number += rem * c;  N /= 2;  // Count used to store exponent value  cnt++;  }  return B_Number; } // Driver code int main() {  int N = 17;  cout << decimalToBinary(N);  return 0; } // This code is contributed by Sania Kumari Gupta (kriSania804)>
C
// C implementation of the approach #include  #include  #define ull unsigned long long int // Function to return the binary // equivalent of decimal value N int decimalToBinary(int N) {  // To store the binary number  ull B_Number = 0;  int cnt = 0;  while (N != 0) {  int rem = N % 2;  ull c = pow(10, cnt);  B_Number += rem * c;  N /= 2;  // Count used to store exponent value  cnt++;  }  return B_Number; } // Driver code int main() {  int N = 17;  printf('%u', decimalToBinary(N));  return 0; } // This code is contributed by Sania Kumari Gupta (kriSania804)>
Java
// Java implementation of the approach  import java.io.*; class GFG  { // Function to return the binary  // equivalent of decimal value N  static int decimalToBinary(int N)  {   // To store the binary number   int B_Number = 0;   int cnt = 0;   while (N != 0)  {   int rem = N % 2;   double c = Math.pow(10, cnt);   B_Number += rem * c;   N /= 2;   // Count used to store exponent value   cnt++;   }   return B_Number;  }  // Driver code  public static void main (String[] args) {    int N = 17;   System.out.println (decimalToBinary(N));  } } // This code is contributed by ajit.>
C#
// C# implementation of the approach using System; class GFG {   // Function to return the binary  // equivalent of decimal value N  static int decimalToBinary(int N)  {   // To store the binary number   int B_Number = 0;   int cnt = 0;   while (N != 0)  {   int rem = N % 2;   int c = (int)Math.Pow(10, cnt);   B_Number += rem * c;   N /= 2;   // Count used to store exponent value   cnt++;   }   return B_Number;  }  // Driver code  static public void Main () {  int N = 17;   Console.Write(decimalToBinary(N));  } } // This code is contributed by Tushil.>
Javascript
>
Python3
# Python3 implementation of the approach  # Function to return the binary  # equivalent of decimal value N  def decimalToBinary(N): # To store the binary number  B_Number = 0 cnt = 0 while (N != 0): rem = N % 2 c = pow(10, cnt) B_Number += rem * c N //= 2 # Count used to store exponent value  cnt += 1 return B_Number # Driver code  N = 17 print(decimalToBinary(N)) # This code is contributed by  # SHUBHAMSINGH10>

Produktion
10001>

Tidskomplexitet: O(logn) & extra utrymme: O(1)

Observera att denna metod liknar den där vi konverterar binär till decimal som diskuteras i detta posta .
Det finns ytterligare en metod som konverterar vilket decimaltal som helst till dess binära form. Tanken är att använda bituppsättning .

Nedan är implementeringen av ovanstående tillvägagångssätt.

C++
//C++ program to convert a decimal number //to its binary form. //including header file #include  using namespace std; //Function to convert a decimal number //to its binary form string decimalToBinary(int n) {  //finding the binary form of the number and   //converting it to string.   string s = bitset<64>(n).to_string();    //Hitta den första förekomsten av '1' //för att ta bort de inledande nollorna.  const auto loc1 = s.find('1');    if(loc1 != sträng::npos) returnerar s.substr(loc1);    returnera '0'; } //Drivrutinskod int main() { int n = 17;    //Funktion call cout<< decimalToBinary(n);  return 0; } //This code is contributed by yashbeersingh42>
Java
// Java program to convert a decimal number to its binary // form import java.util.*; class DecimalToBinary {  // Function to convert a decimal number to its binary  // form  public static String decimalToBinary(int n)  {  // Finding the binary form of the number and  // converting it to a string  String s = Integer.toBinaryString(n);  // Finding the first occurrence of '1' to strip off  // the leading zeroes  int loc1 = s.indexOf('1');  if (loc1 != -1) {  return s.substring(loc1);  }  return '0';  }  // Driver code  public static void main(String[] args)  {  int n = 17;  // Function call  System.out.println(decimalToBinary(n));  } } // This code is contributed by phasing17>
C#
// C# program to convert a decimal number // to its binary form. using System; class HelloWorld {  // Function to convert a decimal number  // to its binary form  public static String decimalToBinary(int n)  {  // finding the binary form of the number and   //converting it to string.   String s = Convert.ToString(n, 2);  return s;  }  static void Main() {  int n = 17;  //Function call  Console.WriteLine(decimalToBinary(n));  } } // The code is contributed by Nidhi goel.>
Javascript
// Javascript program to convert a decimal number // to its binary form. // Function to convert a decimal number // to its binary form function decimalToBinary( n) {  // finding the binary form of the number and   // converting it to string.   const s = n.toString(2);    return s; } // Driver Code let n = 17; // Function call console.log(decimalToBinary(n));  // This code is contributed by imruhrbf8.>
Python3
# Python program to convert a decimal number # to its binary form. # Function to convert a decimal number # to its binary form def decimalToBinary( n): # finding the binary form of the number and  # converting it to string.  s = bin(n)[2:] # Finding the first occurrence of '1' # to strip off the leading zeroes. # const auto loc1 = s.find('1') loc1 = s[s.index('1'):] return loc1 return '0' # Driver Code n = 17 # Function call print(decimalToBinary(n))>

Produktion
10001>

Tidskomplexitet: O(logn) & extra utrymme: O(1)

Ett annat tillvägagångssätt

C++
// C++ program to convert Decimal to Binary Number #include  using namespace std; int main() {  // input number  int number = 15;  int n = (int)(log2(number));    // binary output  // using the inbuilt function  cout << 'the binary number is : '  << bitset<64>(nummer).to_string().substr(64 - n - 1); } // Denna kod är skriven av phasing17>
Java
//To convert Decimal to Binary Number// import java.util.*;  public class Main{  public static void main(String [] args){  //input//  int number =15;    //output//  System.out.println('the binary number is : '+ Integer.toString(number,2));    //This code is written by ZEESHAN AHMAD//  }  }>
C#
// To convert Decimal to Binary Number// using System;  class GFG{  public static void Main(){  // input//  int number =15;    //output//  Console.WriteLine('the binary number is : '+ Convert.ToString(number, 2));  }  } // This code is contributed by code_hunt.>
Javascript
// JavaScript program to convert Decimal to Binary Number // input number var number = 15; // binary output // using the inbuilt function console.log('the binary number is :', number.toString(2)); // This code is written by phasing17>
Python3
# Python3 program to convert Decimal to Binary Number # input number number = 15 # binary output # using the inbuilt function print('the binary number is :', bin(number)[2::]) # This code is written by phasing17>

Produktion
the binary number is : 1111>

Tidskomplexitet: O(logn) & Hjälputrymme: O(1)