不同進位之前的轉換技巧
1樓:網友
13(十進位)=1101(二進位)=d(16進位)= 15(輪姿8進位)
2進位最末尾是2的0次方,向左依次類推。逢2進18進位最末尾是8的0次方,向左依次類推。逢8進116進位最末尾是16的0次方,向左依次類推。
逢16進116進位用a,臘山絕b,c,d,e,f這六個字母來分別表示10,11,12,13,14,15。
二進位轉八進位每三位一轉,二進位轉十六進位每四位唯乎一轉。
最後,建議去百科。
2樓:記憶半徑
如下面的八進位——十進位為例搏檔。
1、先求所輸入數的長度l=len(str(n))=32、取第乙個數基橋亂m,m=substr(str(n),1,1),m=m*8^1(n-1)
3、第二次m=substr(str(n),2,1)m=m*8^1(n-2)
依次類推。如消乎下是進位**:
accept「請輸入乙個八進位數:」to xn=len(x)
for i=1 to n
s=val(substr(x,z,1))
y=y+s*8 ^(n-z)nexty
若將入進位——二進位,只需要將y=y+s*8 ^(n-z)改為y=y+s*2^(n-i)
若不滿意,只追問噢。
3樓:匿名使用者
二進位和十進位的相互轉化直接呼叫遞迴進行相互轉化就行老粗清,其他凳仔的二進位侍前轉十六進位每四位一轉,二進位轉八進位每三位一轉。。。
十進位怎麼轉換成其他進位
4樓:聽不清啊
十進位。整數轉換成其他進位,採用除法取餘數。
的方法:下面通過舉例來說明:
10進位整數轉換為2進位數。
採用除2反向取餘法:
從下往上讀取每一次的餘數,就是轉換的結果:
10進位整數轉換為16進位數,採用除16反向取餘法:
123/16=7...11 (用 b 表示)從下往上讀取每一次的餘數,就是轉換的結果:
123=(7b)16
進位之間的互相轉換
5樓:伊彩緣
數制中每乙個固定位置對應的單位值稱為位權。
對於多位數,處在某一位上的「1」所表示的數值的大小,稱為該位的位權。例如十進位第2位的位權為10,第3位的位權為100;而二進位的第2位的位權為2,第3位的位權為4,對於n進位數,整數部門第i位的位權為n^(i-1) ,而小數部分第j位的位權為n^-j.
整數部分:十進位除2取餘數。餘數為權位上的數,得到的商值繼續除以2,直到商為0為止。
轉換成二進位。
整數部分:十進位數 除8/16 取餘數。餘數為權位上的數,得到的商值繼續除以8/16,直到商為0為止。
小數部分:十進位小數轉換成二進位小數採用「乘8/16取整,順序排列」。
用8/16乘以十進位小數,然後將積的整數部分按照順序排列起來,先取的整數作為8/16 進位小數的高位有效位,後取的整數作為低位的有效位。
每乙個2/8/16 進位數每位上的數乘以位權沒然後將得到的數字再加在一起。整數部分和小數部分轉換方法相同。
二進位轉換成八/十六進位的方法是,取三/四合為一位數。
從二進位的小數點為分界點,向左(或向右)每三/四位取成一位,分好組以後,對照二進位與八/十六進位數的對應表,將三/四位二進位按權相加,得到的就是八/十六進位數。這裡需要注意的是,在向左(或向右)取三/四時,取到最高位(最低位)如果無法湊足三/四位,就可以在小數點的最左邊(最右邊)補0,進行換算。
方法。 取一分為三/四,即將一位8/16進位數分槐櫻薯解成三/四位二進位數,用三/四位二進位按權相加去湊這位8/16進位數,小數點位置照舊。
八進位轉十六進位:將八進位轉換為二進位,然後再將二進位轉換為十六進位,小數點位置不變。
十六進位轉八進位:將十六進位轉換為二進位,然後再將二進位轉換為頌芹八鉛者進位,小數點位置不變。
十進位怎麼轉換成其他進位
6樓:聽不清啊
下面通過舉例來說明:
10進位整數轉換為2進位數。
採用除2反向取餘法:
從下往上讀取每一次的餘數。
就是轉換的結果:
10進位整數轉換為16進位數,採用除16反向取餘法:
123/16=7...11 (用 b 表示)從下往上讀取每一次的餘數,就是轉換的結果:
123=(7b)16
進位轉換法
7樓:可樂零七
各種進位之間的轉換方法:
一、不同的進位制數轉化為十進位數:按權相加。
十進位是權是10;二進位是權是2;十六進位是權是16;八進位是權是8;
例:110011(二進位數)=1*2^5+1*2^4+0*2^3+0*2^2+1*2^1+1*2^0=32+16+2+1=51
1507(八進位數)=1*8^3 + 5*8^2 + 0*8^1 + 7*8^0 = 839
2af5(十六進位數)=2*16^3 + a*16^2+ f*16^1 + 5*16^0 = 10997
二、十進位數化為不同進位數。
整數部分:除權取餘;小數部分:乘權取整。
例:十進位數13轉化成二進位數。
13/2=6 餘1
6/2=3 餘0
3/2=1 餘1
1/2=0 餘1
結果:1101
三、二進位換算八進位。
將二進位數從右到左,三位一組,不夠補0
例:二進位數10110111011換八進位數:
結果為:2673
四、二進位轉換十六進位。
二進位數轉換為十六進位數的方法也類似,從右到左,四位一組,不夠補0如上題:
結果為:5bb
進位制轉換的問題,關於進位制的轉換
如果是手算,不涉及編 最簡單的方法是使用windows自帶的計算器,只要在十進位制下輸入十進位制數,再點一下8進位制或16進位制,就自動給出相應的數。如果不能用計算機,那就用除8取餘或除16取餘,方法和轉換2進位制相當。如果要編 可以用計數器,一個減法減十進位制的數,令外的一群模8或16加法計數器可...
請教如何用C語言實現10進位制轉換5進位制的轉換器
這是我資料結構課上老師留的課堂作業,但是此 並非本人原創。但已通過驗證。這個 可以把十進位制的轉換成任意進位制的。include include define stack init size 50 define stack increment 10 棧定義 typedef structstack 構...
c語言的進位制轉換問題,C語言16進位制轉10進位制問題,非強制轉換!
錯在 for count 1 num 0 count 你輸出的是按照餘數的先後順序輸出的,但是十進位制轉化成二進位制時,應該按照餘數的逆順序輸出的,你弄錯了順序,還有scanf d nuum 少了一個逗號,我寫的程式給你參考下吧!保管正確。include void main for i count ...