C语言经典例82-八进制转换为十进制
生活随笔
收集整理的這篇文章主要介紹了
C语言经典例82-八进制转换为十进制
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 1 題目
- 2 分析
- 3 實現
- 4 運行結果
1 題目
八進制轉換為十進制
2 分析
將一個八進制數,逐一分解出對應的權值,再乘以權重,累加起來就可以轉換為十進制了,采用具體的方法就是除余法,例如八進制數12,取余分解出最低位2,再乘以相應的權重,由于是最低位,所以權重為 80=18^0 = 180=1 ,再用12/10,進行下一輪循環,取余分解出最低位1,再乘以相應的權重,權重為 81=88^1 = 881=8,累加起來為 2+8=102+8=102+8=10,所以相應的十進制數為 101010
3 實現
#include <stdio.h> #include <math.h>int Trans(int n) {int sum = 0;int i = 0;while (n) {sum += (n%10)*pow(8, i++);n /= 10;}return sum; }int main(void) {int n;printf("請輸入一個八進制數:");scanf("%d", &n);printf("轉化為十進制為:");printf("%d", Trans(n)); }4 運行結果
請輸入一個八進制數:12 轉化為十進制為:10總結
以上是生活随笔為你收集整理的C语言经典例82-八进制转换为十进制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言经典例80-猴子分桃
- 下一篇: C语言经典例83-求0—7所能组成的奇数