logo

Program na konverziu z desiatkovej sústavy na binárnu

Dané desiatkové číslo ako vstup, musíme napísať program, ktorý prevedie dané desiatkové číslo na ekvivalentné binárne číslo.

šakal vs vlk

Príklady Desatinné až binárne :

  Input : 7 Output : 111 Input : 10 Output : 1010 Input: 33 Output: 100001>
Odporúčaný postupDecimal až binárneVyskúšajte to!

Prístup hrubou silou

Napríklad :
Ak je desatinné číslo 10.
Krok 1 : Zvyšok, keď je 10 delené 2, je nula. Preto arr[0] = 0.
Krok 2 : Vydeľte 10 dvomi. Nové číslo je 10/2 = 5.
Krok 3 : Zvyšok, keď je 5 delené 2, je 1. Preto arr[1] = 1.
Krok 4 : Rozdeľte 5 o 2. Nové číslo je 5/2 = 2.
Krok 5 : Zvyšok, keď je 2 delené 2, je nula. Preto arr[2] = 0.
Krok 6 : Vydeľte 2 2. Nové číslo je 2/2 = 1.
Krok 7 : Zvyšok, keď je 1 delené 2, je 1. Preto arr[3] = 1.
Krok 8 : Rozdeľte 1 o 2. Nové číslo je 1/2 = 0.
Krok 9 : Keďže číslo sa stáva = 0. Vytlačte pole v opačnom poradí. Preto je ekvivalentné binárne číslo 1010.



Nižšie uvedený diagram ukazuje príklad prevodu desiatkového čísla 17 na ekvivalentné binárne číslo.

Desatinné až binárne




Nižšie je uvedená implementácia vyššie uvedenej myšlienky.

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) { // uloženie zvyšku do binárneho poľa binaryNum[i] = n % 2;  n = n/2;  i++;  } // tlač binárneho poľa v opačnom poradí pre (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) { // uloženie zvyšku do binárneho poľa binaryNum[i] = n % 2;  n = n/2;  i++;  } // tlač binárneho poľa v opačnom poradí pre (int j = i - 1; j>= 0; j--) printf('%d', binaryNum[j]); } // Program ovládača na testovanie funkcie vyššie int main() { int n = 17;  decToBinary(n);  návrat 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) { // uloženie zvyšku do binárneho poľa binaryNum[i] = n % 2;  n = n/2;  i++;  } // tlač binárneho poľa v opačnom poradí pre (int j = i - 1; j>= 0; j--) System.out.print(binaryNum[j]);  } // program ovládača public static void main(String[] args) { int n = 17;  decToBinary(n);  } } // Prispel 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) { // uloženie zvyšku do // binárneho poľa binaryNum[i] = n % 2;  n = n/2;  i++;  } // tlač binárneho poľa // v opačnom poradí pre (int j = i - 1; j>= 0; j--) Console.Write(binaryNum[j]);  } // Kód ovládača public static void Main() { int n = 17;  decToBinary(n);  } } // Tento kód prispel 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) { // uloženie zvyšku // do binárneho poľa $binaryNum[$i] = $n % 2; $n = (int)($n / 2); $i++; } // tlač binárneho poľa // v opačnom poradí pre ($j = $i - 1; $j>= 0; $j--) echo $binaryNum[$j]; } // Kód ovládača $n = 17; decToBinary($n); // Tento kód je tvorený 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): # uloženie zvyšku # do binárneho poľa binaryNum[i] = n % 2 n = int(n / 2) i += 1 # tlač binárneho poľa # v opačnom poradí pre j v rozsahu (i - 1, -1, -1): print(binaryNum[j], end = '') # Kód ovládača n = 17 decToBinary(n) # Tento kód prispel mits>

Výkon
10001>

Časová zložitosť: O(logn) a pomocný priestor: O(1)

Na vykonanie vyššie uvedenej úlohy môžeme použiť bitové operátory. Všimnite si, že bitové operátory pracujú rýchlejšie ako aritmetické operátory použité vyššie.

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;  ak (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; // pravý posun if (k & 1) // nám pomôže zistiť stav prvého bitu printf('1');  else printf('0');  } } // kód ovládača 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 { // kód ovládača public static void main(String[] args) { gfg g = new gfg();  int n = 32;  g.decToBinary(n);  } } // Tento kód je pridaný 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 { // kód ovládača public static int Main() { gfg g = new gfg();  int n = 32;  g.decToBinary(n);  návrat 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) echo '1'; else echo '0'; } } // Kód ovládača $n = 32; decToBinary($n); // Tento kód prispel 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='') # Kód ovládača n = 32 decToBinary(n ) # Tento kód prispel mits>

Výkon
00000000000000000000000000100000>

Časová zložitosť: O(1)

slučka iteruje konštantu (32) niekoľkokrát, a to aj pre malý počet



Pomocný priestor: O(1)

Efektívny prístup

Je to ďalší efektívny prístup k prevodu desiatkovej sústavy na binárne pomocou pravého operátora shift(>>) a And(&). Tu budeme používať iba binárne operátory, ktoré sú zvyčajne veľmi rýchle pri výpočte.

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; // Pravý Shift o 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 ((číslo & 1) == 1) // 1 reťazec += '1';  else // 0 str += '0';  num>>= 1; // Pravý Shift o 1 } return str;  } // prevrátiť reťazec 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árne číslo 59 je: ');  reverse(DecimalToBinary(num));  } } // Tento kód je pridaný fázovaním17>
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 ((číslo & 1) == 1) // 1 reťazec += '1';  else // 0 str += '0';  num>>= 1; // Pravý Shift o 1 } return str;  } // prevrátiť reťazec public static void reverse(String str) { for (int i = str.Length - 1; i>= 0; i--) Console.Write(str[i]);  } // Kód ovládača public static void Main(string[] args) { int num = 59;  Console.Write('Binárne číslo 59 je: ');  reverse(DecimalToBinary(num));  } } // tento kód bol pridaný fázovaním17>
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 # funkcia na obrátenie reťazca def reverse(strs): print(strs[::-1]) # Kód ovládača číslo = 59 print('Binárna číslo 59 je:', end=' ') reverse(DecimalToBinary(num)) # Tento kód je pridaný fázovaním17>

Výkon
Binary of num 59 is: 111011>

Časová zložitosť: O (log n) a pomocný priestor: O(1)

Konverziu z desiatkovej sústavy na binárnu je možné vykonať aj bez použitia polí.

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>

Výkon
10001>

Časová zložitosť: O(logn) a pomocný priestor: O(1)

Všimnite si, že táto metóda je podobná tej, v ktorej konvertujeme binárne na desiatkové, ako je uvedené v tomto článku príspevok .
Existuje ešte iná metóda, ktorá prevádza ľubovoľné desatinné číslo na jeho binárnu formu. Myšlienka je použiť bitset .

Nižšie je uvedená implementácia vyššie uvedeného prístupu.

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();    //Nájdenie prvého výskytu '1' //na odstránenie úvodných núl.  const auto loc1 = s.find('1');    if(loc1 != string::npos) return s.substr(loc1);    návrat '0'; } //Kód ovládača int main() { int n = 17;    //Volanie funkcie 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))>

Výkon
10001>

Časová zložitosť: O(logn) a pomocný priestor: O(1)

Iný prístup

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>(číslo).to_string().substr(64 - n - 1); } // Tento kód je napísaný pomocou phase17>
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>

Výkon
the binary number is : 1111>

Časová zložitosť: O(logn) & Pomocný priestor: O(1)