如何定位多位数字中的特定数字

时间:2017-04-27 18:06:25

标签: c++

所以我正在制作二进制>十进制程序,其中我需要定位输入数字中的特定数字,例如,如果输入是100110110,我如何定位第四个数字,在这种情况下显然是1,第五,第六,...有多少数字?

2 个答案:

答案 0 :(得分:0)

如果输入是二进制字符串,请将输入存储在字符串中并使用循环

处理它
string num = "1001010";
int l = num.length();

for(int i=0; i<l; i++) {
    // num[i] is the (i+1)th bit from left;
}

答案 1 :(得分:-1)

  

有多少数字?

这些被称为位。要查找变量中的位数,请使用返回字节数的sizeof运算符。

sizeof(variable) * 8
  

我如何定位第四个数字

您可以使用operator&测试一下:

if (8 == (variable & 8))
    ...

关于如何执行此操作已经有详细解答:How do you set, clear, and toggle a single bit in C/C++?