检查给定二进制字符串的分数
字节序列称为二进制字符串,它保存二进制值。二进制分数通常在 0 到 1 的范围内表示,其中 1 保留给完美模型。在给定的二进制字符串中,如果发现元素为 1,则将其计算为分数并增加计数总和。
让我们举一个二进制分数的例子:
给定的二进制字符串是 1011010。
在上图中,数字 1 出现在索引 0、2、3 和 5 中。
因此,总分是 4,因为共有 4 个索引具有 1 的二进制分数。
给定的二进制字符串是 0110001。
在上图中,数字 1 出现在索引 1、2 和 6 中。
因此,总分是3,因为共有3个索引具有 1 的二进制分数。
在本文中,我们将找到给定二进制字符串的分数。
语法
程序中使用的以下语法
string_name.length()
参数
字符串名称
length() - 此函数计算字符串的长度(以字节为单位)。
算法
我们将从名为‘iostream’的头文件开始程序。
从 main 函数开始,我们将声明一个字符串变量"binary_str"并用二进制字符串对其进行初始化。另外,初始化计数的变量并将其存储为 0。
我们将创建一个 for 循环变量,将其设置为基于二进制字符串长度的计数器。
在 for 循环内部,我们将使用 if 语句检查binary_str的第 i 个字符是否等于1。如果二进制字符串的第 i 个字符等于 1,则计数将递增。for 循环完成后,我们将得到最终的计数,该计数将作为给定二进制字符串的分数。
循环完成后,我们只需打印消息“给定数字的二进制分数为:”,后跟计数值。
示例 1
在此程序中,我们将使用 for 循环实现二进制字符串的分数。(提示-如果发现字符串的索引位置为 1,则将其计为分数)
#include <iostream> using namespace std; int main() { string binary_str = "101110101001"; int count = 0; for( int i = 0; i <= binary_str.length(); i++ ) { if( binary_str[i] == '1' ) { count++; } } cout<<"The binary score of given number is:\t"<<count; return 0; }
输出
The binary score of given number is: 7
示例 2
在此程序中,我们将使用 while 循环实现二进制字符串的分数。(提示-如果发现字符串中的索引位置为 1,则将其计为分数)
#include<iostream> using namespace std; int main() { string binary_str = "1001"; int count = 0; int i = 0; while( i <= binary_str.length() ) { if(binary_str[i] == '1') { count++; } i++; } cout<<"The binary score of given number is:\t"<<count; return 0; }
输出
The binary score of given number is: 2
结论
我们探讨了二进制字符串分数的概念,并了解了长度如何用于计算给定二进制字符串的分数。通常,计算机只理解两个数字 - 0 和 1,以使用它们执行各种功能。例如,0 和 1 对于任何物联网设备都很重要。