電腦進制編程
① 計算機編程中二進制時間制十六進制之間怎麼轉化,說的詳細點
逢n進一的n就是基數,基數為幾就有幾個數字,如二進制基數為二,則有0,1兩個;八進制基數為八有0,1,2,3,4,5,6,7八個。總之從0開始,最後一位位n-1。而如十六進制等基數超過十的,從十開始為A(相當於10進制的10),B,C,D,E,F(相當於10進制的15)。
權可以這樣理解,一種進制的某一個數的每位都有一個權值m,並且權值為位數減一,如個位上的數的權值為0(位數1-1=0),十位為1(位數2-1=1)。
各個進制之間的轉化一般分為兩類。
十進制轉換為其他進制:可以概括為「除基取余」。如十進制的12化為16進制,12/16=0餘12,但十六進制是用C來表示的,所以十進制的10就是12進制的C;又如十進制30化為十六進制,30/16=1餘14,第二次用商14/16=0餘14,則十進制30轉化為十六進制為1E(由後往前取),其他類推。十進制轉化為二進制也是如此,如9/2=4餘1,4/2=2餘0,2/2=1餘0,1/2=0餘1,也就是1001了。10進制轉化為其它進制,也是一樣,但不常用,所以就不說了。
其它進制轉化為十進制:可以概括為「按權展開」。知道了權值m,就可以轉化了。 首先,每一位的位數乘以基數n的m次方,如八進制個位4,4x8^0=4(8^0等於8的0次方),百位4,4x8^2=256.最後加總。
另外一般默認十進制以d結尾,八進制為o,二進制為b,十六進制為h。
進制和16進制的轉化:有些情況中,常會遇到2進制和16進制轉化如果通過二進制轉換為十進制,再轉換為十六進制完成,有很大麻煩,下面有一種方法,提高效率。
二進制到十六進制的轉換。我們可以將二進制數由右至左分為幾部分,每一部分有四位(因為2的4次方為16),不足四位的補0,如10111b,可分為0001(補了3個0)和0111兩部分。然後將兩部分分別化為十六進制,第一個是1,第二個是7。最後合起來,為17h。
十六進制到二進制的轉換。同理,我們可將十六進制的每一位,一分為四,再合並即可。如13h,分為1和3兩部分,在一分為四,0001和0011,合並去0,就是10011。
② 計算機編程用哪幾種進制
演算法是用:二進制、八進制、十進制、十二進制、十六進制。
代碼是用:二進制
原因:
計算機使用二進制其實是不得已而為之的,都知道,計算機是用電的,而電路只有通電和斷電兩種狀態,計算機就是利用這兩種狀態的交替來進行運算的。不僅僅是計算機,所有使用集成電路的物品都只能使用二進制。迄今為止還沒有八進制和十六進製作為基本代碼的晶元出現,但是可以使用這兩種進制的演算法。所謂的十進制也只是指演算法,而不是代碼。實際上二進制的計算是非常繁瑣的,不信的話可以自己試一下,計算機可以使用二進制是因為他的運算速度很快而已。