C語言進製之間的轉換(原始碼)

2021-10-04 08:05:03 字數 1726 閱讀 7322

以下**中提供兩個函式,用於將十進位制轉換和其他進製和其他進製轉換為十進位制

//info:

// 提供2、8、10、16進製制之間相互轉換的兩個函式(正整數)

// 更新日期:2020.2.23

#include

#include

#include

#include

//num為要轉換的十進位制數,format是要轉換的目標進製,結果以字串s形式表示

void

decto

(int num,

int format,

char

*s);

//num是要轉換的數,format是要轉換的原進製,結果以長整型sum表示

void

todec

(char

* num,

int format,

long

* sum)

;int

main

(int argc,

char

**ar**)

;//str用於儲存結果

//從十進位制轉換為其他進製測試

//decto(atoi(ar**[1]), atoi(ar**[2]), str);

//printf("%s\n",str);

//其他進製轉換為十進位制測試

long sum=0;

todec

(ar**[1]

,atoi

(ar**[2]

),&sum)

;printf

("%ld\n"

,sum)

;return0;

}//使用輾轉相除法,將十進位制轉換為其他進製

void

decto

(int num,

int format,

char

*s);

//索引庫

int i =0;

//開始輾轉相除

while

(num>=format)

s[i]

= stor[num]

; s[i+1]

='\0'

;//將字串內元素倒序

for(

int j=

0; j<

strlen

(s)/

2; j++

)return;}

//二進位制轉十進位制,

void

todec

(char

* num,

int format,

long

* sum)

;//索引庫

//判斷要轉換的數字是否有誤

for(

int i=

0; i<

strlen

(num)

; i++)}

//若要轉換的數中有超過進製的數則輸出error後退出

if(tem>=format)

}//開始轉換

for(

int i=

0; i<

strlen

(num)

; i++)}

*sum +

= tem*

pow(format,

strlen

(num)-1

-i);

}return

;}

c 進製之間轉換

c 進製轉換 二進位制 十六進製制 十進位制互轉 由於二進位制數在c 中無法直接表示,所以所有二進位制數都用乙個字串來表示 例如 二進位制 1010 表示為 字串 1010 int d 10 十進位制轉二進位制字串 console.writeline convert.tostring d,2 輸出 ...

c 之進製之間的轉換

在19世紀初愛迪生發明了燈泡,緊接著在 1946年美國科學家就發明了計算機,第一台計算機沒有我們現在這樣複雜的點路板,這台計算機僅僅是由一些簡易的燈泡構成的。那我們想想,他們當時是如何使用這些燈泡來表示數的?當時他們想到了一種辦法 就是用燈亮表示1,燈滅表示0.0和1共同表示數字。0和1一共只有兩個...

進製之間的轉換

今天翻了一本計算機基礎的書籍,其中十進位制 二進位制 八進位制 十六進製制之間的轉換挺有意思的,也容易犯糊塗,特溫故而知新。十進位制數制系統 十進位制數制系統包括 10 個數字 0 1 2 3 4 5 6 7 8 9 基為 10 逢十進一,如3 7 10,20 80 100 二進位制數制系統 計算機...