给定一个正数n,计算其中的总位。 例如:
null
Input : 13Output : 4Binary representation of 13 is 1101Input : 183Output : 8Input : 4096Output : 13
方法1(使用日志)
n中以2为底的log2(n)对数,它是指数,2被提升到这个指数,得到n个整数,我们在log(n)时间内在一个数字中加1 find total bit。
C++
// C++ program to find total bit in given number #include <iostream> #include <cmath> unsigned countBits(unsigned int number) { // log function in base 2 // take only integer part return ( int )log2(number)+1; } // Driven program int main() { unsigned int num = 65; std::cout<<countBits(num)<< '' ; return 0; } // This code is contributed by thedev05. |
C
// C program to find total bit in given number #include <stdio.h> #include <math.h> unsigned countBits(unsigned int number) { // log function in base 2 // take only integer part return ( int )log2(number)+1; } // Driven program int main() { unsigned int num = 65; printf ( "%d" , countBits(num)); return 0; } |
JAVA
// Java program to // find total bit // in given number import java.io.*; class GFG { static int countBits( int number) { // log function in base 2 // take only integer part return ( int )(Math.log(number) / Math.log( 2 ) + 1 ); } // Driver code public static void main (String[] args) { int num = 65 ; System.out.println(countBits(num)); } } // This code is contributed by vij |
Python3
# Python3 program to find # total bit in given number import math def countBits(number): # log function in base 2 # take only integer part return int ((math.log(number) / math.log( 2 )) + 1 ); # Driver Code num = 65 ; print (countBits(num)); # This code is contributed by mits |
C#
// C# program to find total bit // in given number using System; class GFG { static uint countBits( uint number) { // log function in base 2 // take only integer part return ( uint )Math.Log(number , 2.0) + 1; } // Driver code public static void Main() { uint num = 65; Console.WriteLine(countBits(num)); } } // This code is contributed by Sam007. |
PHP
<?php // PHP program to find total // bit in given number function countBits( $number ) { // log function in base 2 // take only integer part return (int)(log( $number ) / log(2)) + 1; } // Driver Code $num = 65; echo (countBits( $num )); // This code is contributed by Ajit. ?> |
Javascript
<script> // JavaScript program to find total bit in given number function countBits(number) { // log function in base 2 // take only integer part return Math.floor(Math.log2(number)+1); } // Driven program let num = 65; document.write(countBits(num)); // This code is contributed by Surbhi Tyagi </script> |
输出
7
方法2(使用位遍历)
C
/* Function to get no of bits in binary representation of positive integer */ #include <stdio.h> unsigned int countBits(unsigned int n) { unsigned int count = 0; while (n) { count++; n >>= 1; } return count; } /* Driver program*/ int main() { int i = 65; printf ( "%d" , countBits(i)); return 0; } |
JAVA
/* Function to get no of bits in binary representation of positive integer */ class GFG { static int countBits( int n) { int count = 0 ; while (n != 0 ) { count++; n >>= 1 ; } return count; } /* Driver program*/ public static void main(String[] arg) { int i = 65 ; System.out.print(countBits(i)); } } // This code is contributed by Smitha. |
Python3
# Function to get no of bits # in binary representation # of positive integer def countBits(n): count = 0 while (n): count + = 1 n >> = 1 return count # Driver program i = 65 print (countBits(i)) # This code is contributed # by Smitha |
C#
/* Function to get no of bits in binary representation of positive integer */ using System; class GFG { static int countBits( int n) { int count = 0; while (n != 0) { count++; n >>= 1; } return count; } // Driver Code static public void Main () { int i = 65; Console.Write(countBits(i)); } } // This code is contributed // by akt_mit. |
PHP
<?php // PHP Code to get no of bits in binary // representation of positive integer // Function to get no of bits in binary // representation of positive integer function countBits( $n ) { $count = 0; while ( $n ) { $count ++; $n >>= 1; } return $count ; } // Driver Code $i = 65; echo (countBits( $i )); // This code is contributed by Ajit. ?> |
Javascript
<script> /* Function to get no of bits in binary representation of positive integer */ function countBits(n) { var count = 0; while (n != 0) { count++; n >>= 1; } return count; } // Driver Code var i = 65; document.write(countBits(i)); </script> |
输出
7
方法3(使用从二进制到字符串的转换)
Python3
# function to count the number of bits in a number n def count_bits(n): # bin(n) returns a binary string representation of n preceded by '0b' in python binary = bin (n) # we did -2 from length of binary string to ignore '0b' return len (binary) - 2 a = 65 b = 183 print (f "Total bits in {a}: {count_bits(a)}" ) print (f "Total bits in {b}: {count_bits(b)}" ) # This code is contributed by udit |
输出
Total bits : 7Total bits : 8
本文由 贾亚克·贾因 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 写极客。组织 或者把你的文章寄去评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END