當前位置:首頁 » 編程語言 » 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;

}

熱點內容
徵婚交友源碼 發布:2025-02-05 17:45:24 瀏覽:917
3nvm伺服器怎麼搭建 發布:2025-02-05 17:43:52 瀏覽:660
cocosandroid開發 發布:2025-02-05 17:22:17 瀏覽:668
編程員發型 發布:2025-02-05 17:09:18 瀏覽:225
網站會員管理源碼 發布:2025-02-05 17:03:32 瀏覽:193
伺服器埠怎麼調節 發布:2025-02-05 16:57:41 瀏覽:47
樂山海棠社區民意上傳 發布:2025-02-05 16:55:52 瀏覽:510
編程老爺爺 發布:2025-02-05 16:48:20 瀏覽:129
支持ftp的免費空間 發布:2025-02-05 16:32:00 瀏覽:891
python時間比較 發布:2025-02-05 16:31:46 瀏覽:52