前三位和后三位
给定一个整数 N 。任务是在 N 的二进制表示中打印前三位和后三位的十进制等价物。 示例:
输入:86 T3】输出:5 6 86 的二进制表示为 1010110。 前三位(101)的十进制等效值为 5。 最后三位(110)的十进制等效值是 6。 因此输出为 5 6。 输入: 7 输出: 7 7
简单方法:
- 将 N 转换为二进制,并将这些位存储在一个数组中。
- 将数组中的前三个值转换为十进制等效值并打印出来。
- 同样,将数组中的最后三个值转换为十进制等效值并打印出来。
以下是上述方法的实现:
C++
// C++ implementation of the approach
#include <bits/stdc++.h>
using namespace std;
// Function to print the first
// and last 3 bits equivalent decimal number
void binToDecimal3(int n)
{
// Converting n to binary
int a[64] = { 0 };
int x = 0, i;
for (i = 0; n > 0; i++) {
a[i] = n % 2;
n /= 2;
}
// Length of the array has to be at least 3
x = (i < 3) ? 3 : i;
// Convert first three bits to decimal
int d = 0, p = 0;
for (int i = x - 3; i < x; i++)
d += a[i] * pow(2, p++);
// Print the decimal
cout << d << " ";
// Convert last three bits to decimal
d = 0;
p = 0;
for (int i = 0; i < 3; i++)
d += a[i] * pow(2, p++);
// Print the decimal
cout << d;
}
// Driver code
int main()
{
int n = 86;
binToDecimal3(n);
return 0;
}
Java 语言(一种计算机语言,尤用于创建网站)
//Java implementation of the approach
import java.math.*;
public class GFG {
//Function to print the first
//and last 3 bits equivalent decimal number
static void binToDecimal3(int n)
{
// Converting n to binary
int a[] = new int[64] ;
int x = 0, i;
for (i = 0; n > 0; i++) {
a[i] = n % 2;
n /= 2;
}
// Length of the array has to be at least 3
x = (i < 3) ? 3 : i;
// Convert first three bits to decimal
int d = 0, p = 0;
for (int j = x - 3; j < x; j++)
d += a[j] * Math.pow(2, p++);
// Print the decimal
System.out.print( d + " ");
// Convert last three bits to decimal
d = 0;
p = 0;
for (int k = 0; k < 3; k++)
d += a[k] * Math.pow(2, p++);
// Print the decimal
System.out.print(d);
}
//Driver code
public static void main(String[] args) {
int n = 86;
binToDecimal3(n);
}
}
Python 3
# Python 3 implementation of the approach
from math import pow
# Function to print the first and last 3
# bits equivalent decimal number
def binToDecimal3(n):
# Converting n to binary
a = [0 for i in range(64)]
x = 0
i = 0
while(n > 0):
a[i] = n % 2
n = int(n / 2)
i += 1
# Length of the array has to
# be at least 3
if (i < 3):
x = 3
else:
x = i
# Convert first three bits to decimal
d = 0
p = 0
for i in range(x - 3, x, 1):
d += a[i] * pow(2, p)
p += 1
# Print the decimal
print(int(d), end =" ")
# Convert last three bits to decimal
d = 0
p = 0
for i in range(0, 3, 1):
d += a[i] * pow(2, p)
p += 1
# Print the decimal
print(int(d),end = " ")
# Driver code
if __name__ == '__main__':
n = 86
binToDecimal3(n)
# This code is contributed by
# Sanjit_Prasad
C
// C# implementation of the approach
using System;
class GFG
{
// Function to print the first and last
// 3 bits equivalent decimal number
static void binToDecimal3(int n)
{
// Converting n to binary
int [] a= new int[64] ;
int x = 0, i;
for (i = 0; n > 0; i++)
{
a[i] = n % 2;
n /= 2;
}
// Length of the array has to be
// at least 3
x = (i < 3) ? 3 : i;
// Convert first three bits to decimal
int d = 0, p = 0;
for (int j = x - 3; j < x; j++)
d += a[j] *(int)Math.Pow(2, p++);
// Print the decimal
int d1 = d;
// Convert last three bits to decimal
d = 0;
p = 0;
for (int k = 0; k < 3; k++)
d += a[k] * (int)Math.Pow(2, p++);
// Print the decimal
Console.WriteLine(d1 + " " + d);
}
// Driver code
static void Main()
{
int n = 86;
binToDecimal3(n);
}
}
// This code is contributed by Mohit kumar 29
java 描述语言
<script>
// Javascript implementation of the approach
// Function to print the first
// and last 3 bits equivalent decimal number
function binToDecimal3(n)
{
// Converting n to binary
var a = Array(64).fill(0);
var x = 0, i;
for (i = 0; n > 0; i++) {
a[i] = n % 2;
n = parseInt(n/2);
}
// Length of the array has to be at least 3
x = (i < 3) ? 3 : i;
// Convert first three bits to decimal
var d = 0, p = 0;
for (var i = x - 3; i < x; i++)
d += a[i] * parseInt(Math.pow(2, p++));
// Print the decimal
document.write(d + " ");
// Convert last three bits to decimal
d = 0;
p = 0;
for (var i = 0; i < 3; i++)
d += a[i] * parseInt(Math.pow(2, p++));
// Print the decimal
document.write(d);
}
// Driver code
var n = 86;
binToDecimal3(n);
</script>
Output:
5 6
高效方法: 我们可以使用按位运算符来查找所需的数字。
C++
// C++ implementation of the approach
#include <bits/stdc++.h>
using namespace std;
// Function to print the first
// and last 3 bits equivalent decimal
// number
void binToDecimal3(int n)
{
// Number formed from last three
// bits
int last_3 = ((n & 4) + (n & 2) + (n & 1));
// Let us get first three bits in n
n = n >> 3;
while (n > 7)
n = n >> 1;
// Number formed from first three
// bits
int first_3 = ((n & 4) + (n & 2) + (n & 1));
// Printing result
cout << first_3 << " " << last_3;
}
// Driver code
int main()
{
int n = 86;
binToDecimal3(n);
return 0;
}
Java 语言(一种计算机语言,尤用于创建网站)
// Java implementation of the approach
import java.util.*;
class GFG
{
// Function to print the first
// and last 3 bits equivalent
// decimal number
static void binToDecimal3(int n)
{
// Number formed from last three
// bits
int last_3 = ((n & 4) +
(n & 2) + (n & 1));
// Let us get first three bits in n
n = n >> 3;
while (n > 7)
n = n >> 1;
// Number formed from first
// three bits
int first_3 = ((n & 4) +
(n & 2) + (n & 1));
// Printing result
System.out.println(first_3 + " " + last_3);
}
// Driver code
public static void main(String args[])
{
int n = 86;
binToDecimal3(n);
}
}
// This code is contributed by
// Surendra_Gangwar
Python 3
# Python3 implementation of the approach
# Function to print the first and
# last 3 bits equivalent decimal
# number
def binToDecimal3(n) :
# Number formed from last three
# bits
last_3 = ((n & 4) + (n & 2) + (n & 1));
# Let us get first three bits in n
n = n >> 3
while (n > 7) :
n = n >> 1
# Number formed from first three
# bits
first_3 = ((n & 4) + (n & 2) + (n & 1))
# Printing result
print(first_3,last_3)
# Driver code
if __name__ == "__main__" :
n = 86
binToDecimal3(n)
# This code is contributed by Ryuga
C
// C# implementation of the approach
using System;
class GFG
{
// Function to print the first
// and last 3 bits equivalent
// decimal number
static void binToDecimal3(int n)
{
// Number formed from last three
// bits
int last_3 = ((n & 4) +
(n & 2) + (n & 1));
// Let us get first three bits in n
n = n >> 3;
while (n > 7)
n = n >> 1;
// Number formed from first
// three bits
int first_3 = ((n & 4) +
(n & 2) + (n & 1));
// Printing result
Console.WriteLine(first_3 + " " + last_3);
}
// Driver code
static public void Main ()
{
int n = 86;
binToDecimal3(n);
}
}
// This code is contributed by akt_mit..
服务器端编程语言(Professional Hypertext Preprocessor 的缩写)
<?php
// PHP implementation of the approach
// Function to print the first and last
// 3 bits equivalent decimal number
function binToDecimal3($n)
{
// Number formed from last three
// bits
$last_3 = (($n & 4) + ($n & 2) + ($n & 1));
// Let us get first three bits in n
$n = $n >> 3;
while ($n > 7)
$n = $n >> 1;
// Number formed from first three
// bits
$first_3 = (($n & 4) + ($n & 2) + ($n & 1));
// Printing result
echo($first_3);
echo(" ");
echo($last_3);
}
// Driver code
$n = 86;
binToDecimal3($n);
// This code is contributed
// by Shivi_Aggarwal
?>
java 描述语言
<script>
// Javascript implementation of the approach
// Function to print the first
// and last 3 bits equivalent decimal
// number
function binToDecimal3(n)
{
// Number formed from last three
// bits
var last_3 = ((n & 4) + (n & 2) + (n & 1));
// Let us get first three bits in n
n = n >> 3;
while (n > 7)
n = n >> 1;
// Number formed from first three
// bits
var first_3 = ((n & 4) + (n & 2) + (n & 1));
// Printing result
document.write(first_3 + " " + last_3);
}
// Driver code
var n = 86;
binToDecimal3(n);
// This code is contributed by rrrtnx.
</script>
Output:
5 6
版权属于:月萌API www.moonapi.com,转载请注明出处