當前位置:首頁 » 編程語言 » c語言8進制轉10進制

c語言8進制轉10進制

發布時間: 2023-08-18 01:56:56

『壹』 c語言八進制轉10進制

由於指針p指向的字元必然是字元'0'~'7'(在main函數中已排除其他情況),且ascii碼中字元'0'~'7'是連續的,所以對於
'0'-'0'==0
'1'-'0'==1
'2'-'0==2
...
'7'-'0'==7
必然成立
且此處已知字元串為八進制數,故此處n=n*8+*p-'0',8為權值
具體演算法可解釋為
0123==1*8*8+2*8+3
同理,還可推出對於任意N進制(N>=2)
123(N) == 1*N*N+2*N+3
如對於十進制數
123==1*10*10+2*10+3
十六進制數
0x123==1*16*16+2*16+3

『貳』 C語言中八進制與十進制如何互相轉化

先將十進制數轉換為二進制數,然後就是從低位開始,每三位對應一位,不足補0
比如-32的代碼是10101110(隨便寫的)
轉換之後就是256,前面一個不足三位,在最前面補0
010
101
110
2
5
6

『叄』 C語言編程:八進制轉換為十進制

#include<stdio.h>

void main()

{

char *p,s[6];int n;

p=s;

gets(p);

n=0;

while(*(p)!='')

{n=n*8+*p-'0';

p++;}

printf("%d",n);

}

(3)c語言8進制轉10進制擴展閱讀:

一、二進制數轉換

二進制數轉換成十進制數

由二進制數轉換成十進制數的基本做法是,把二進制數首先寫成加權系數展開式,然後按十進制加法規則求和。這種做法稱為"按權相加"法。例1105把二進制數110.11轉換成十進制數。

二、十進制數轉換為二進制數

十進制數轉換為二進制數時,由於整數和小數的轉換方法不同,所以先將十進制數的整數部分和小數部分分別轉換後,再加以合並。

1、十進制整數轉換為二進制整數十進制整數轉換為二進制整數採用"除2取余,逆序排列"法。具體做法是:用2去除十進制整數,可以得到一個商和余數;再用2去除商,又會得到一個商和余數,

如此進行,直到商為零時為止,然後把先得到的余數作為二進制數的低位有效位,後得到的余數作為二進制數的高位有效位,依次排列起來。

2、十進制小數轉換為二進制小數

十進制小數轉換成二進制小數採用"乘2取整,順序排列"法。具體做法是:用2乘十進制小數,可以得到積,將積的整數部分取出,再用2乘餘下的小數部分,又得到一個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,或者達到所要求的精度為止。

然後把取出的整數部分按順序排列起來,先取的整數作為二進制小數的高位有效位,後取的整數作為低位有效位。

『肆』 求八進制轉化為十進制的c語言思路及編程

思路:對於所有的八進制數符,按乘權求和的思想就可以實現轉化。

#include<stdio.h>

int main()

{int x=0,c;

printf("請輸入一個八進制數:");

scanf("%c",&c);

while(c>='0'&&c<'8')

{x=x*8+c-'0';

scanf("%c",&c);

}

printf("十進制數為:%d ",x);

return 0;

}

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:705
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:969
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:677
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:830
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:738
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1077
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:309
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:189
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:875
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:831