以下**中提供兩個函式,用於將十進位制轉換和其他進製和其他進製轉換為十進位制
//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 二進位制數制系統 計算機...