二進制是什麼意思?将一個二進制數,轉換為對應的十進制數,下面我們就來說一說關于二進制是什麼意思?我們一起去了解并探讨一下這個問題吧!
将一個二進制數,轉換為對應的十進制數。
輸入輸入一個二進制數,以回車結束。該二進制數為正數,長度不超過31。
輸出輸出一個整數,為該二進制數對應的十進制數。
樣例輸入
100000000001
2049
(1) 整數運算盡量避免pow之類的double類型函數,以免截斷取整帶來錯誤。 (2)可使用遞推思想,充分利用中間結果。類似思想可參考秦九韶算法。秦九韶算法是中國南宋時期的數學家秦九韶提出的一種多項式簡化算法。計算一次多項式f(x) = a0xn a1x(n-1) ... an 隻需要n次乘法和n次加法。原理是一次多項式f(x)可寫成如下加括号方式:f(x) =(( (a0x a1)x a2) * x ... an-1) * x an。自内向外去括号計算,隻需要n次乘法和n次加法。 本題從高位到低位依次輸出二進制數,對應多項式系數a0, a1,....,an, 而x的值為2。遞推過程如下: d = 0; while( ch = getchar(), ch != '\n') d = d * 2 (ch - '0');
代碼
#include<stdio.h>
int main(void)
{
char ch;
int d ;
d=0;
while(ch=getchar(), ch!='\n')
d=d*2 (ch-'0');
printf("%d\n",d);
return 0;
}
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!