溫馨提示×

c++二進制轉十進制怎么實現(xiàn)

c++
小億
222
2024-05-25 16:19:13
欄目: 編程語言

要將一個二進制數(shù)轉換為十進制數(shù),可以通過以下步驟實現(xiàn):

  1. 將給定的二進制數(shù)從右向左按位拆分,分別取出每一位的數(shù)值。
  2. 對于每一位的數(shù)值,將其乘以 2 的 n 次方,其中 n 表示該位在二進制數(shù)中的位置(從右向左,位置從 0 開始)。
  3. 將所有乘積相加,得到最終的十進制數(shù)值。

以下是一個示例的 C++ 代碼實現(xiàn):

#include <iostream>
#include <string>
#include <cmath>

int binaryToDecimal(std::string binary) {
    int decimal = 0;
    
    for (int i = binary.length() - 1; i >= 0; i--) {
        int bit = binary[i] - '0';
        decimal += bit * pow(2, binary.length() - 1 - i);
    }
    
    return decimal;
}

int main() {
    std::string binary = "1101";
    int decimal = binaryToDecimal(binary);
    
    std::cout << "Binary number " << binary << " is equivalent to decimal number " << decimal << std::endl;
    
    return 0;
}

在上面的代碼中,我們定義了一個函數(shù) binaryToDecimal,該函數(shù)接受一個表示二進制數(shù)的字符串作為輸入,并返回對應的十進制數(shù)值。在 main 函數(shù)中,我們調(diào)用 binaryToDecimal 函數(shù)并輸出結果。你可以將輸入的二進制數(shù)替換為其他值進行測試。

0