二进制转十进制(c语言)
生活随笔
收集整理的這篇文章主要介紹了
二进制转十进制(c语言)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
把一個二進制數轉化為十進制數。
輸入格式
第一行一個正整數 n ?(1≤n≤30) ?表示二進制數的長度。
第二行一個二進制數。
輸出格式
輸出一個整數,表示對應的十進制數。
例:輸入
5
10101
輸出:
21
整體思路:
利用for語句進行二進制轉換為十進制
二進制10101轉為十進制,因為以0開頭,所以這是正整數,計算如下所示:
#include <stdio.h> #include <math.h> #include <string.h>int main() {int i, d, a, b, sum = 0;char str[30];//字符數組string,長度30scanf("%d", &d);//輸入二進制長度scanf("%s", str);//輸入二進制數for (i = 0; i < d; i++) {//二進制轉為十進制要從右到左用二進制的每個數去乘以2的相應次方求和a = str[i] - 48;b = pow(2, d - 1 - i);//2的次方sum += a * b;//十進制要從右到左用二進制的每個數去乘以2的相應次方相加}printf("%d\n", sum);//輸出十進制整數return 0; }總結
以上是生活随笔為你收集整理的二进制转十进制(c语言)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 错过这15个顶级Python库,你就不算
- 下一篇: 手机APP三年内将彻底消失,以后全靠H5