檢查給定二進位制字串的分數


位元組序列稱為二進位制字串,它儲存二進位制值。二進位制分數通常在 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 對於任何物聯網裝置都很重要。

更新於: 2023 年 4 月 20 日

234 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.