logo

Programme de conversion décimale en binaire

Étant donné un nombre décimal en entrée, nous devons écrire un programme pour convertir le nombre décimal donné en un nombre binaire équivalent.

Java convertit le caractère en chaîne

Exemples de Décimal en binaire :

  Input : 7 Output : 111 Input : 10 Output : 1010 Input: 33 Output: 100001>
Pratique recommandéeDécimal à binaireEssayez-le !

Approche par force brute

Par exemple :
Si le nombre décimal est 10.
Étape 1 : Le reste lorsque 10 est divisé par 2 est nul. Par conséquent, arr[0] = 0.
Étape 2 : Divisez 10 par 2. Le nouveau nombre est 10/2 = 5.
Étape 3 : Le reste lorsque 5 est divisé par 2 est 1. Par conséquent, arr[1] = 1.
Étape 4 : Divisez 5 par 2. Le nouveau nombre est 5/2 = 2.
Étape 5 : Le reste lorsque 2 est divisé par 2 est nul. Par conséquent, arr[2] = 0.
Étape 6 : Divisez 2 par 2. Le nouveau nombre est 2/2 = 1.
Étape 7 : Le reste lorsque 1 est divisé par 2 est 1. Par conséquent, arr[3] = 1.
Étape 8 : Divisez 1 par 2. Le nouveau nombre est 1/2 = 0.
Étape 9 : Puisque le nombre devient = 0. Imprimez le tableau dans l'ordre inverse. Le nombre binaire équivalent est donc 1010.



Le diagramme ci-dessous montre un exemple de conversion du nombre décimal 17 en un nombre binaire équivalent.

Décimal en binaire




Vous trouverez ci-dessous la mise en œuvre de l’idée ci-dessus.

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) { // stockage du reste dans un tableau binaire binaireNum[i] = n % 2;  n = n/2 ;  je++;  } // impression d'un tableau binaire dans l'ordre inverse pour (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) { // stockage du reste dans un tableau binaire binaireNum[i] = n % 2;  n = n/2 ;  je++;  } // impression d'un tableau binaire dans l'ordre inverse pour (int j = i - 1; j>= 0; j--) printf('%d', binaireNum[j]); } // Programme pilote pour tester la fonction ci-dessus int main() { int n = 17;  decVersBinaire(n);  renvoie 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) { // stockage du reste dans un tableau binaire binaireNum[i] = n % 2;  n = n/2 ;  je++;  } // impression d'un tableau binaire dans l'ordre inverse pour (int j = i - 1; j>= 0; j--) System.out.print(binaryNum[j]);  } // programme pilote public static void main(String[] args) { int n = 17;  decVersBinaire(n);  } } // Contribution de 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) { // stockage du reste dans // un tableau binaire binaireNum[i] = n % 2;  n = n/2 ;  je++;  } // impression d'un tableau binaire // dans l'ordre inverse pour (int j = i - 1; j>= 0; j--) Console.Write(binaryNum[j]);  } // Code du pilote public static void Main() { int n = 17;  decVersBinaire(n);  } } // Ce code est fourni par 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) { // stockage du reste // dans un tableau binaire $binaryNum[$i] = $n % 2; $n = (int)($n / 2); $i++; } // impression d'un tableau binaire // dans l'ordre inverse pour ($j = $i - 1; $j>= 0; $j--) echo $binaryNum[$j]; } // Code du conducteur $n = 17 ; decVersBinaire($n); // Ce code est contribué par 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): # stockage du reste # dans un tableau binaire binaireNum[i] = n % 2 n = int(n / 2) i += 1 # impression d'un tableau binaire # dans l'ordre inverse pour j dans range(i - 1, -1, -1) : print(binaryNum[j], end = '') # Code du pilote n = 17 decToBinary(n) # Ce code est fourni par mits>

Sortir
10001>

Complexité temporelle : O (connexion) & Espace auxiliaire : O(1)

Nous pouvons utiliser des opérateurs au niveau du bit pour effectuer le travail ci-dessus. Notez que les opérateurs au niveau du bit fonctionnent plus rapidement que les opérateurs arithmétiques utilisés ci-dessus.

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 ; je--) {int k = n>> je;  si (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 ; je--) {int k = n>> je; // décalage à droite if (k & 1) // nous aide à connaître l'état du premier bit printf('1');  sinon printf('0');  } } // code du pilote int main() { int n = 32;  decVersBinaire(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 ; je--) {int k = n>> je;  si ((k & 1)> 0) System.out.print('1');  sinon System.out.print('0');  } } } class geek { // code du pilote public static void main(String[] args) { gfg g = new gfg();  entier n = 32 ;  g.decToBinary(n);  } } // Ce code est contribué par 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 ; je--) {int k = n>> je;  si ((k & 1)> 0) Console.Write('1');  sinon Console.Write('0');  } } } class geek { // code du pilote public static int Main() { gfg g = new gfg();  entier n = 32 ;  g.decToBinary(n);  renvoie 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; si ($k & 1) echo '1'; sinon echo '0'; } } // Code du pilote $n = 32 ; decVersBinaire($n); // Ce code est contribué par 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 si (k & 1) : print('1', end='') else : print('0', end='') # Code du pilote n = 32 decToBinary(n ) # Ce code est contribué par mits>

Sortir
00000000000000000000000000100000>

Complexité temporelle : O(1)

la boucle itère un nombre constant (32) de fois à chaque fois, même pour un petit nombre



Espace auxiliaire : O(1)

Approche efficace

C'est une autre approche efficace pour convertir Decimal en binaire à l'aide des opérateurs shift droit (>>) et And (&). Ici, nous n'utiliserons que des opérateurs binaires qui sont généralement très rapides en calcul.

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 ; // Décalage droit de 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 ((num & 1) == 1) // 1 str += '1';  sinon // 0 str += '0';  num>>= 1; // Décalage droit de 1 } return str;  } // inverse la chaîne 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('Le binaire du numéro 59 est : ');  inverse (DecimalToBinary (num));  } } // Ce code est contribué par phasing17>
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 ((num & 1) == 1) // 1 str += '1';  sinon // 0 str += '0';  num>>= 1; // Décalage droit de 1 } return str;  } // inverse la chaîne public static void reverse(String str) { for (int i = str.Length - 1; i>= 0; i--) Console.Write(str[i]);  } // Code du pilote public static void Main(string[] args) { int num = 59;  Console.Write('Le binaire du numéro 59 est : ');  inverse (DecimalToBinary (num));  } } // ce code a été contribué par phasing17>
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 return strs # fonction pour inverser la chaîne def reverse(strs): print(strs[::-1]) # Driver Code num = 59 print('Le binaire de num 59 est :', end=' ') reverse(DecimalToBinary(num)) # Ce code est contribué par phasing17>

Sortir
Binary of num 59 is: 111011>

Complexité temporelle : O (log n) & Espace auxiliaire : O(1)

La conversion décimale en binaire peut également être effectuée sans utiliser de tableaux.

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>

Sortir
10001>

Complexité temporelle : O (connexion) & Espace auxiliaire : O(1)

Notez que cette méthode est similaire à celle où nous convertissons le binaire en décimal, comme indiqué dans ce document. poste .
Il existe encore une autre méthode qui convertit n'importe quel nombre décimal en sa forme binaire. L'idée est d'utiliser jeu de bits .

Vous trouverez ci-dessous la mise en œuvre de l’approche ci-dessus.

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();    //Trouver la première occurrence de '1' //pour supprimer les zéros non significatifs.  const auto loc1 = s.find('1');    if(loc1 != string::npos) return s.substr(loc1);    retourner '0'; } //Code du pilote int main() { int n = 17;    //Appel de fonction 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))>

Sortir
10001>

Complexité temporelle : O (connexion) & Espace auxiliaire : O(1)

Une autre approche

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>(numéro).to_string().substr(64 - n - 1); } // Ce code est écrit par 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>

Sortir
the binary number is : 1111>

Complexité temporelle : O(logn) & Espace auxiliaire : O(1)