在C ++中计算数字中的总位数

我们给定一个整数,即num,任务是首先计算一个数字的二进制数字,然后计算一个数字的总数字。

输入-整数= 50

输出-总数中的总位数为-6

说明-数字50的二进制表示为110010,如果我们以8位数字计算,则将在开头附加两个0。因此,一个数字的总位数为6。

输入-整数= 10

输出-总数中的总位数为-6

说明-数字10的二进制表示形式是00001010,如果我们以8位数字进行计算,则将在开头添加四个0。因此,一个数字的总位数为4。

以下程序中使用的方法如下

  • 在整数类型的变量中输入数字

  • 声明一个变量计数以存储unsigned int类型的位的总数

  • 从i到1 << 7并且i> 0和i到i / 2的启动循环

  • 在循环中,检查num&1 == TRUE,然后打印1,否则打印0

  • 启动循环,同时计算位数不为0的总位数

  • 在循环内部,将count的值增加1并设置数字>> = 1

  • 打印计数

示例

#include

using namespace std;

//计算一个数字中的总位数

unsigned int bits(unsigned int number){

   unsigned int count = 0;

   unsigned i;

   //显示总的8位数字

   cout<<"8-bit digits of "<<number<<" is: ";

   for (i = 1 << 7; i > 0; i = i / 2){

      (number & i)? cout<<"1": cout<<"0";

   }

   //计算一个数字的总位数

   while (number){

      count++;

      number >>= 1;

   }

   cout<<"\nCount of total bits in a number are: "<<count;

}

int main(){

   int number = 50;

   bits(number);

   return 0;

}

输出结果

如果我们运行上面的代码,它将生成以下输出-

8-bit digits of 50 is: 00110010

Count of total bits in a number are: 6

以上是 在C ++中计算数字中的总位数 的全部内容, 来源链接: utcz.com/z/316329.html

回到顶部