在不使用算术运算运算符的情况下,找到给定非负数n的二进制等效项。
例子:
Input : n = 10
Output : 1010
Input : n = 38
Output : 100110
请注意,以下算法/程序中的+用于串联目的。
算法:
decToBin(n)
if n == 0
return "0"
Declare bin = ""
Declare ch
while n > 0
if (n & 1) == 0
ch = '0'
else
ch = '1'
bin = ch + bin
n = n >> 1
return bin
C++
// C++ implementation of decimal to binary conversion
// without using arithmetic operators
#include
using namespace std;
// function for decimal to binary conversion
// without using arithmetic operators
string decToBin(int n)
{
if (n == 0)
return "0";
// to store the binary equivalent of decimal
string bin = "";
while (n > 0)
{
// to get the last binary digit of the number 'n'
// and accumulate it at the beginning of 'bin'
bin = ((n & 1) == 0 ? '0' : '1') + bin;
// right shift 'n' by 1
n >>= 1;
}
// required binary number
return bin;
}
// Driver program to test above
int main()
{
int n = 38;
cout << decToBin(n);
return 0;
}
Java
// Java implementation of decimal
// to binary conversion without
// using arithmetic operators
import java.io.*;
class GFG {
// function for decimal to
// binary conversion without
// using arithmetic operators
static String decToBin(int n)
{
if (n == 0)
return "0";
// to store the binary
// equivalent of decimal
String bin = "";
while (n > 0)
{
// to get the last binary digit
// of the number 'n' and accumulate
// it at the beginning of 'bin'
bin = ((n & 1) == 0 ? '0' : '1') + bin;
// right shift 'n' by 1
n >>= 1;
}
// required binary number
return bin;
}
// Driver program to test above
public static void main (String[] args) {
int n = 38;
System.out.println(decToBin(n));
}
}
// This code is contributed by vt_m
Python3
# Python3 implementation of
# decimal to binary conversion
# without using arithmetic operators
# function for decimal to
# binary conversion without
# using arithmetic operators
def decToBin(n):
if(n == 0):
return "0";
# to store the binary
# equivalent of decimal
bin = "";
while (n > 0):
# to get the last binary
# digit of the number 'n'
# and accumulate it at
# the beginning of 'bin'
if (n & 1 == 0):
bin = '0' + bin;
else:
bin = '1' + bin;
# right shift 'n' by 1
n = n >> 1;
# required binary number
return bin;
# Driver Code
n = 38;
print(decToBin(n));
# This code is contributed
# by mits
C#
// C# implementation of decimal
// to binary conversion without
// using arithmetic operators
using System;
class GFG {
// function for decimal to
// binary conversion without
// using arithmetic operators
static String decToBin(int n)
{
if (n == 0)
return "0";
// to store the binary
// equivalent of decimal
String bin = "";
while (n > 0) {
// to get the last binary digit
// of the number 'n' and accumulate
// it at the beginning of 'bin'
bin = ((n & 1) == 0 ? '0' : '1') + bin;
// right shift 'n' by 1
n >>= 1;
}
// required binary number
return bin;
}
// Driver program to test above
public static void Main()
{
int n = 38;
Console.WriteLine(decToBin(n));
}
}
// This code is contributed by Sam007
PHP
0)
{
// to get the last binary
// digit of the number 'n'
// and accumulate it at
// the beginning of 'bin'
$bin = (($n & 1) == 0 ?
'0' : '1') . $bin;
// right shift 'n' by 1
$n >>= 1;
}
// required binary number
return $bin;
}
// Driver Code
$n = 38;
echo decToBin($n);
// This code is contributed
// by mits
?>
Javascript
输出:
100110