1. 程式人生 > >用C語言程式,解決數制之間的轉化,超簡單,告別進位制的問題!

用C語言程式,解決數制之間的轉化,超簡單,告別進位制的問題!

1、首先,需要先明白printf()函式的輸出格式控制引數:

                          %d:十進位制有符號整數

                          %u:十進位制無符號整數

                          %f:十進位制浮點數

                          %o:八進位制數

                          %x:十六進位制數

2、再者,就是需要明白數制的定義:

                 二進位制就是逢二進一;

                 八進位制就是逢八進一;

                 十進位制就不說了;

                 十六進位制就是逢十六進一,十六進位制有十六個數:1、2、3、4、5、6、7、8、9、A=10、B=11、C=12、D=13、E=14、F=15;

3、最後,就是需要了解數制的換算:

     舉例說明:

                 二進位制                                                                      十進位制

                   1000   =    1*2^3+0*2^2+0*2^1+0*2^0=8+0+ 0+0=     8

                 八進位制                                                                       十進位制

                 743    =  7* 8^2+4*8^1+3*8^0  =  448+32+3       =       483

                 十六進位制                                                                   十進位制

                 2AD   = 2*16^2+10*16+13 =  512+160+13         =      685

4、下面就是利用C語言程式,來求轉化:

        以十六進位制轉化為十進位制為例:

#include"stdio.h" int N(int n)         /*定義一個轉化成十進位制的函式*/ {     printf("其十進位制:%d",n);     return(n); } void main() {     int n;     printf("請輸入一個十六進位制數\n");     scanf("%x",&n);     N(n);             /*呼叫函式N*/

}

你也可以試著編寫一個二進位制轉化為十進位制等等,各個進位制之間都行!