先看乙個最簡單的十進位制數轉為二進位制
#define _crt_secure_no_warnings
#include #include int main()
for (i = i - 1; i >= 0; --i)
system("pause");
return 0;
}
這其實就實現了將乙個十進位制數轉為二進位制數字,思路也很簡單,就是建立乙個字元陣列初始化為空用來儲存進製轉換的結果,每次將n%2的結果儲存下來,再對變數n進行修改(即n = n / 2),同樣的該方法適用用對於8進製的轉換,但對於十六進製制來說,我們需要用字元a-f來表示10 - 16,如果還用上面的方法去做,顯然無法在結果中用a-f來表示數字,所以對**進行簡單修改,讓其變成乙個對十進位制數任意進製轉換的的程式
#define _crt_secure_no_warnings
#include #include int main()
else
n = n / sn;
++i;
} for (i = i - 1; i >= 0; --i)
system("pause");
return 0;
}
發生變化的地方主要是在儲存n%sn的結果時,我們對其進行判斷是否大於等於10,如果大於等於10,我們就利用ascii碼值將其轉換為相應的字元並存在字元陣列中.這樣也就完成了對十六進製制的轉換.
注意我們在輸出結果時,要逆序列印,因為我們在字元陣列中儲存結果時是倒著存的.
十進位制的轉換
include int main void int convertednumber 64 long int numbertoconvert int nextdigit,base,index 0 get the number and the base printf number to be conve...
十進位制與其它進製轉換
c語言筆記之二進位制 include 十進位制與其它進製轉換 include include using namespace std string hex 0123456789abcdef 16進製制字元 string dec k long long dec,int k 10進製轉變為k進製 2 k...
十進位制轉十六進製制(進製轉換)
問題描述 十六進製制數是在程式設計時經常要使用到的一種整數的表示方式。它有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f共16個符號,分別表示十進位制數的0至15。十六進製制的計數方法是滿16進1,所以十進位制數16在十六進製制中是10,而十進位制的17在十六進製制中是11,以此類推...