二進制轉十進制的算法是:將二進制數的每一位與 2 的對應次冪相乘,然后將這些乘積相加。
例如:二進制數1011轉十進制,則:
(12^3) + (02^2) + (12^1) + (12^0) = 8 + 0 + 2 + 1 = 11
因此,1011(二進制) = 11(十進制)。下面給出各個主流編程語言的二進制轉十進制算法代碼范例。
1、Python二進制轉十進制的算法代碼:
在 Python 中,可以使用 int() 函數將二進制字符串轉換為十進制整數:
binary_num = "1011"
decimal_num = int(binary_num, 2)
print(decimal_num) # 11
也可以使用以下方法:
binary_num = "1011"
decimal_num = 0
binary_num = binary_num[::-1]
for i in range(len(binary_num)):
decimal_num += int(binary_num[i])*(2**i)
print(decimal_num) # 11
2、C語言二進制轉十進制的算法代碼:
在 C 語言中,可以使用 strtol() 函數將二進制字符串轉換為十進制整數:
#include <stdio.h>
#include <stdlib.h>
int main() {
char binary_num[] = "1011";
int decimal_num;
decimal_num = strtol(binary_num, NULL, 2);
printf("%d\n", decimal_num); // 11
return 0;
}
3、C++語言二進制轉十進制的算法代碼:
在 C++ 中,可以使用 stoi() 函數將二進制字符串轉換為十進制整數:
#include <iostream>
int main() {
std::string binary_num = "1011";
int decimal_num;
decimal_num = std::stoi(binary_num, 0, 2);
std::cout << decimal_num << std::endl; // 11
return 0;
}
4、Java二進制轉十進制的算法代碼:
在 Java 中,可以使用 Integer.parseInt() 函數將二進制字符串轉換為十進制整數:
String binary_num = "1011";
int decimal_num;
decimal_num = Integer.parseInt(binary_num, 2);
System.out.println(decimal_num); // 11
算法愛好者也可以自己寫,代碼如下:
String binary_num = "1011";
int decimal_num = 0, i = 0, rem, base = 1;
int len = binary_num.length();
for (i = len - 1; i >= 0; i--) {
rem = binary_num.charAt(i) - '0';
decimal_num += rem * base;
base = base * 2;
}
System.out.println(decimal_num); // 11
5、C#二進制轉十進制的算法代碼:
在 C# 中,可以使用 Convert.ToInt32() 函數將二進制字符串轉換為十進制整數:
string binary_num = "1011";
int decimal_num;
decimal_num = Convert.ToInt32(binary_num, 2);
Console.WriteLine(decimal_num); // 11
6、Visual Basic二進制轉十進制的算法代碼:
在 Visual Basic 中,代碼如下,當然,你也可以用 Convert.ToInt32() 函數
Dim binary_num As String = "1011"
Dim decimal_num As Integer = 0, i As Integer = 0, rem As Integer, base As Integer = 1
Dim len As Integer = binary_num.Length
For i = len - 1 To 0 Step -1
rem = binary_num(i) - "0"c
decimal_num += rem * base
base = base * 2
Next
Console.WriteLine(decimal_num) ' 11
7、JavaScript二進制轉十進制的算法代碼:
在 JavaScript 中,可以使用 parseInt() 函數將二進制字符串轉換為十進制整數:
let binary_num = "1011";
let decimal_num;
decimal_num = parseInt(binary_num, 2);
console.log(decimal_num); // 11
8、PHP二進制轉十進制的算法代碼:
在 PHP 中,可以使用 bindec() 函數將二進制字符串轉換為十進制整數:
$binary_num = "1011";
$decimal_num = bindec($binary_num);
echo $decimal_num; // 11
或者:
$binary_num = "1011";
$decimal_num = 0;
$i = 0;
$len = strlen($binary_num);
for ($i = $len - 1; $i >= 0; $i--) {
$rem = $binary_num[$i];
$decimal_num += $rem * pow(2, $len - $i - 1);
}
echo $decimal_num; // 11
9、SQL語言二進制轉十進制的算法代碼:
在 SQL 中,可以使用 CAST 或 CONVERT 函數將二進制字符串轉換為十進制整數。
例如,使用 CAST 函數:SELECT CAST(1011 AS UNSIGNED) AS decimal_num;
使用 CONVERT 函數:SELECT CONVERT(UNSIGNED, 1011) AS decimal_num;
注意:這里的 1011 是二進制字符串,在使用 CAST 或 CONVERT 函數時需要將其轉換為 UNSIGNED 類型。
需要注意的是,這只是在單純的查詢數據庫中存儲的二進制字符串的情況下這樣使用,如果你需要在sql中進行運算或者處理,可能需要使用其他的函數或者語句來實現,可能需要具體情況具體分析。
以上語言排名不分先后,如果有不在里面的其它編程語言,以此類推即可。
★關于WorkWin公司電腦監(jiān)控軟件★
WorkWin的使命是打造Work用途的Windows 電腦系統,有效規(guī)范員工上網行為,讓老板知道員工每天在做什么(監(jiān)控包括屏幕、上網在內的一舉一動),限制員工不能做什么(禁止網購、游戲、優(yōu)盤等)。
WorkWin基于純軟件設計,小巧易用,無需添加或改動任何硬件,使用一臺管理機監(jiān)控全部員工機電腦。歷經南京網亞十余年精心打造,此時此刻每天都有成千上萬企業(yè)電腦正在運行WorkWin,選擇WorkWin選擇“贏"。
版權所有,南京網亞計算機有限公司 。本文鏈接地址: 二進制轉十進制算法各編程語言代碼大全,值得收藏