十進(jìn)制:整數(shù)部分:(11011)2 = 1*2^4+1*2^3+0*2^2+1*2^1+1*2^0=27 小數(shù)部分:(.110)2 = 1*2^-1+1*2^-2+0*2^-3 = 0.75 合并(11011)2 = (27.75)D 八進(jìn)制:整數(shù)部分:每三位一組,從個位往上依次截取,最后不足三位補(bǔ)0 11011→011011 011=1*2^
本文我們將從以下幾個部分來詳細(xì)介紹如何將二進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制數(shù):手動轉(zhuǎn)換、轉(zhuǎn)換的快捷方式和變體題型、5 參考
二進(jìn)制和八進(jìn)制是計算機(jī)技術(shù)常用的不同數(shù)制。它們有不同的基數(shù),二進(jìn)制是二,而八進(jìn)制是八,這意味著兩者必須分組才能轉(zhuǎn)換。這種轉(zhuǎn)換聽起來很復(fù)雜,但實(shí)際操作起來要簡單得多。第一部分:手動轉(zhuǎn)換
二進(jìn)制與十進(jìn)制之間的轉(zhuǎn)換 1 十進(jìn)制轉(zhuǎn)二進(jìn)制 方法為:十進(jìn)制數(shù)除2取余法,即十進(jìn)制數(shù)除2,余數(shù)為權(quán)位上的數(shù),得到的商值繼續(xù)除2,依此步驟繼續(xù)向下運(yùn)算直到商為0為止。 (具體用法如下圖) 2 二進(jìn)制轉(zhuǎn)十進(jìn)制 方法為:把二進(jìn)制數(shù)按權(quán)展開、相加即
第1步:識別二進(jìn)制數(shù)字。
八進(jìn)制: 10011010 拆分10、011、010 二進(jìn)制 八進(jìn)制 10 2 011 3 010 2 所以二進(jìn)制10011010轉(zhuǎn)化成八進(jìn)制就是232 十六進(jìn)制: 10011010 拆分1001、1010 二進(jìn)制 十六進(jìn)制 1001 9 1010 B 所以 二進(jìn)制10011010轉(zhuǎn)發(fā)成十六進(jìn)制就是9B
二進(jìn)制數(shù)是只有1和0的字符串,如101001、001,甚至是1。你看到的這類字符串通常都是二進(jìn)制數(shù)。但是,有些書籍和老師為了避免混淆,會在二進(jìn)制數(shù)后面加個下標(biāo)”2”,如10012,把它和數(shù)字“一千零一”區(qū)分開來。
1、二進(jìn)制轉(zhuǎn)為八進(jìn)制 110110010.100101(2)→110'110'010.100'101(2)=662.45(8)。 2、二進(jìn)制轉(zhuǎn)為十進(jìn)制 110110010.100101(2)=1*2^8+1*2^7+0*2^6+1*2^5+1*2^4+0*2^3+0*2^2+1*2^1+0*2^0+1*2^(-1)+0*2^(-2)+0*2^(-3)+1*2^(-4)+0*2^(-5)+1*2^(-6) =25
這個下標(biāo)表示數(shù)字的“基數(shù)”。二進(jìn)制是以二為基數(shù)的數(shù)制,而八進(jìn)制則以八為基數(shù)。
十進(jìn)制轉(zhuǎn)換: 1234[10進(jìn)制] 0 1 2 3 4 5 6 7 8 9 0 當(dāng)數(shù)位上的值超過9就要進(jìn)1 1000+200+30+4=1*103+2*102+3*101+4*100=1234。 21011[2進(jìn)制] 0 1 當(dāng)數(shù)位上的值超過1就要進(jìn)1 1*23+0*22+1*21+1*20=8+0+2+1=11。 1011[8進(jìn)制]0 1 2 3 4 5 6 7 當(dāng)數(shù)位
第2步:從最右邊開始,將二進(jìn)制數(shù)中的所有1和0分成三個一組。
轉(zhuǎn)化成十六進(jìn)制為:36e.d4,轉(zhuǎn)化為八進(jìn)制為:1556.65。 一、二進(jìn)制轉(zhuǎn)換成十六進(jìn)制數(shù) 將二進(jìn)制數(shù)從小數(shù)點(diǎn)開始分別向左(整數(shù)部分)和向右(小數(shù)部分)每4位分成一組,不足4位時,對原數(shù)值用0補(bǔ)足4位。再將每一組數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)碼中的一個數(shù)字
二進(jìn)制數(shù)中只有兩個不同的數(shù)字,而八進(jìn)制數(shù)中只有八個。由于,所以你需要三個二進(jìn)制數(shù)來表示一個八進(jìn)制數(shù)。從右邊開始分組。例如,二進(jìn)制數(shù)101001可以分成101 001
是2166。 10001110110轉(zhuǎn)換成八進(jìn)制過程如下: 三位一隔,最高位不足3位的,前面補(bǔ)0 010,001,110,110 2.使用8421位權(quán)值換算: 110就是6 001就是1 010就是2 所以最終結(jié)果是2166。 二進(jìn)制到八進(jìn)制的轉(zhuǎn)換方法: 從低位到高位,把每3位二進(jìn)制數(shù)轉(zhuǎn)
。
第3步:如果最左邊沒有足夠的位數(shù)來構(gòu)成一組,可以在左邊加零。
是2166。 10001110110轉(zhuǎn)換成八進(jìn)制過程如下: 三位一隔,最高位不足3位的,前面補(bǔ)0 010,001,110,110 2.使用8421位權(quán)值換算: 110就是6 001就是1 010就是2 所以最終結(jié)果是2166。 二進(jìn)制到八進(jìn)制的轉(zhuǎn)換方法: 從低位到高位,把每3位二進(jìn)制數(shù)轉(zhuǎn)
二進(jìn)制數(shù)10011011有八位,盡管不是三的倍數(shù),仍然能夠轉(zhuǎn)換為八進(jìn)制數(shù)。在前面的那組數(shù)中添加額外的零,直至滿足三個一組的條件即可。例如:
轉(zhuǎn)換成二進(jìn)制:11010111 轉(zhuǎn)換成八進(jìn)制:327 步驟: 1、轉(zhuǎn)換成二進(jìn)制: 215/2=107..1 107/2=53..1 53/2=26..1 26/2=13..0 13/2=6..1 6/2=3..0 3/2=1..1 1/2=0..1 所以結(jié)果為11010111 2、轉(zhuǎn)換成八進(jìn)制: 整數(shù)部分除8取余
原有的二進(jìn)制數(shù):
二進(jìn)制轉(zhuǎn)8進(jìn)制或16進(jìn)制可以直接用BCD碼就是8421算法。有效位乘以BCD碼,如101101001(2)轉(zhuǎn)換8進(jìn)制就是3位一組先分開101 101 001 然后分別算出第一組101=1乘4加0乘2加1乘1。結(jié)果就是5(8)剩下兩組一樣的方法結(jié)果就是551(8)。 轉(zhuǎn)換16進(jìn)制就是4
10011011
二進(jìn)制轉(zhuǎn)換成八進(jìn)制 每三位二進(jìn)制數(shù)相當(dāng)于一個八進(jìn)制數(shù) 從后面開始劃,三位一段,最前面不足三位的添0 比如: 1011011101 就可以分成四個3位的 001,011,011,101 然后把每三個數(shù)按421的數(shù)加起來,就是: 001就是0+0+1,011是0*4+1*2+1=0+2+1,101=1*4+0*
分組:
10 011 011
八進(jìn)制以 8為底 例如 8進(jìn)制的531 我們可以先轉(zhuǎn)換為10進(jìn)制 5是百位 所以 5*8^2=320 3是十位 所以 3*8^1=24 1是個位 所以 1*8^0=1 因此 531=320+24+1=345 然后我們可以把 345 轉(zhuǎn)換為2進(jìn)制 逆轉(zhuǎn)10進(jìn)制到8進(jìn)制 和 10進(jìn)制到2進(jìn)制方法一樣 只是把底換
添加額外的零,把它變成三個一組:
八進(jìn)制與十六進(jìn)制之間的轉(zhuǎn)換有兩種方法: 第一種:他們之間的轉(zhuǎn)換可以先轉(zhuǎn)成二進(jìn)制然后再相互轉(zhuǎn)換。 第二種:他們之間的轉(zhuǎn)換可以先轉(zhuǎn)成十進(jìn)制然后再相互轉(zhuǎn)換。 例如一個十六進(jìn)制數(shù)053977,將其轉(zhuǎn)換成二進(jìn)制001 010 011 100 101 110 111,再將該
010 011 011
從最低位開始,每3個二進(jìn)制數(shù)成一組(最左邊的那組,不夠3個就用0補(bǔ)足),然后將每一組轉(zhuǎn)換為八進(jìn)制數(shù)。 比如:1010111 第一步分組:001 010 111 第二步轉(zhuǎn)換:1 2 7 所以得到的結(jié)果就是127
第4步:在每組的三個數(shù)字下寫上4、2、1,來標(biāo)記占位符。
八進(jìn)制每位對應(yīng)二進(jìn)制3位 1000110110B=[001][000][110][110]B=[1][0][6][6]o=1066o
每組中的三個數(shù)字各代表八進(jìn)制中的一個位置。第一個數(shù)字代表4,第二個代表2,第三個代表1。為了直觀一點(diǎn),你可以將這些數(shù)字寫到二進(jìn)制數(shù)的每組三個數(shù)字下。例如:
二進(jìn)制10110轉(zhuǎn)換成八進(jìn)制數(shù)字是26,二進(jìn)制轉(zhuǎn)八進(jìn)制,就是把二進(jìn)制數(shù)劃成3位一組,一組對應(yīng)一個八進(jìn)制數(shù)。 具體計算過程:10110可以分成成010和110兩組數(shù)。那么010計算就是0+2+0等于2,110計算就是4+2+0等于6,然后組合起來,那么對應(yīng)的結(jié)果就是2
010 011 011
從最低位開始,每3個二進(jìn)制數(shù)成一組(最左邊的那組,不夠3個就用0補(bǔ)足),然后將每一組轉(zhuǎn)換為八進(jìn)制數(shù)。 比如:1010111 第一步分組:001 010 111 第二步轉(zhuǎn)換:1 2 7 所以得到的結(jié)果就是127
421 421 421
請輸入一個8進(jìn)制數(shù) : 145 (145)8 -> (1100101)2 Press any key to continue ************************************************** #include char *fun(int num,char *s) { char ch,*p = s; int i,n = 0; while(num) { p[n++] = (num&1) + '0'; n
001
421
110 010 001
1556 由于2的3次方等于8,八進(jìn)制和二進(jìn)制之間的轉(zhuǎn)化是三次方的關(guān)系,可以把二進(jìn)制數(shù)分段轉(zhuǎn)化,也就是從后向前開始,三位三位的轉(zhuǎn)化。 例如: 1101101110=1 101 101 110=1 5 5 6
421 421 421
請輸入一個8進(jìn)制數(shù) : 145 (145)8 -> (1100101)2 Press any key to continue ************************************************** #include char *fun(int num,char *s) { char ch,*p = s; int i,n = 0; while(num) { p[n++] = (num&1) + '0'; n
注意,如果想使用更快捷的方式,你可以跳過本步驟,直接在八進(jìn)制換算表中查找二進(jìn)制數(shù)組。
二進(jìn)制數(shù)101110轉(zhuǎn)換為等值的八進(jìn)制數(shù)的是56,轉(zhuǎn)換方法就是把二進(jìn)制數(shù)分成三位一組來表示八進(jìn)制數(shù)。 具體轉(zhuǎn)換過程:101110可以分成兩組,101和110,。101表示的八進(jìn)制數(shù)是1乘以2的2次方加上1乘以2的0次方等于5,110表示的八進(jìn)制數(shù)是1乘以2的2次方
第5步:如果任何占位符上的數(shù)字是一,就寫下數(shù)字(4, 2或1),來把它轉(zhuǎn)換為八進(jìn)制數(shù)。
將254.625分成整數(shù)和小數(shù)兩部分轉(zhuǎn)換: 254/16=15,余數(shù)14,十六進(jìn)制形式為E,對應(yīng)的二進(jìn)制數(shù)為1110 15/16=0,余數(shù)15,十六進(jìn)制形式為F,對應(yīng)的二進(jìn)制數(shù)為1111 254d=FEh=11111110h=376o。 0.625*16=10.0,整數(shù)10,十六進(jìn)制形式為A,對應(yīng)的二進(jìn)制
如果”4”的上面是一,那么八進(jìn)制數(shù)就要加4。如果1的上面是0,那么八進(jìn)制數(shù)就不用加一,你可以留空、寫一個零或畫一條橫杠。例如:
154(o)=1101100(b) 轉(zhuǎn)換方法: 八進(jìn)制轉(zhuǎn)化為二進(jìn)制就是從左到右,依次把每一位轉(zhuǎn)化為二進(jìn)制。 因?yàn)?等于2的3次方,所以一個八進(jìn)制位轉(zhuǎn)化為三個二進(jìn)制位。 轉(zhuǎn)換步驟: 154中的1表示成三個二進(jìn)制位:001,5表示成三個二進(jìn)制位:101,4表示成三個二
問題:
將1010100112轉(zhuǎn)換為八進(jìn)制數(shù)。
分成三個一組:
101 010 011
添加占位符:
101 010 011
421 421 421
請輸入一個8進(jìn)制數(shù) : 145 (145)8 -> (1100101)2 Press any key to continue ************************************************** #include char *fun(int num,char *s) { char ch,*p = s; int i,n = 0; while(num) { p[n++] = (num&1) + '0'; n
標(biāo)出每一位數(shù)字:
101 010 011
421 421 421
401 020 021
第6步:將新的數(shù)字每三個一組相加求和。
知道八進(jìn)制數(shù)中各位的數(shù)字后,將每組的三個數(shù)字分別相加即可。因此,101變成4, 0和1, 相加后得到5
,因?yàn)?math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{displaystyle 4+0+1=5}">
問題:
將1010100112轉(zhuǎn)換為八進(jìn)制數(shù)。
分組,添加占位符,標(biāo)出每位數(shù)字:
101 010 011
421 421 421
401 020 021
三個一組相加:
第7步:將新轉(zhuǎn)換的答案放到一起,形成最終的八進(jìn)制數(shù)。
拆分二進(jìn)制數(shù)字只是為了方便解題,原有數(shù)字是一個單獨(dú)的字符串。所以,完成轉(zhuǎn)換后,將所有數(shù)字放到一起,就得到了最終答案。這就是完整的解題步驟。
問題:
將1010100112轉(zhuǎn)換為八進(jìn)制數(shù)。
分組,添加占位符,標(biāo)出每位數(shù)字,加總:
101 010 011
5 — 2 — 3
將轉(zhuǎn)換后的數(shù)字合到一起:
523
第8步:加上下標(biāo)8,完成轉(zhuǎn)換。
缺少正確的符號時,我們無法確切地知道523到底是八進(jìn)制數(shù),還是普通的十進(jìn)制數(shù)。為了讓老師知道你有認(rèn)真做題,請在答案后加上下標(biāo)8,來標(biāo)明它使用的是以8為基數(shù)的八進(jìn)制數(shù)制。
問題:
將1010100112轉(zhuǎn)換為八進(jìn)制數(shù)。
轉(zhuǎn)換:
523。
最終答案:
5238
第二部分:轉(zhuǎn)換的快捷方式和變體題型
第1步:使用簡單的八進(jìn)制換算表來節(jié)省時間,減少計算量。
考試時無法參考換算表,但在其他時候這卻是一個好選擇。由于可能的數(shù)字組合只有8種,所以這個換算表實(shí)際記憶起來也很簡單。你需要做的只是將數(shù)字分成三個一組,然后將它們與圖中的表格進(jìn)行比對即可。
注意,數(shù)字8和數(shù)字9沒有直接對應(yīng)的轉(zhuǎn)換數(shù)字。在八進(jìn)制中,這兩個數(shù)字并不存在,因?yàn)樵谝园藶榛鶖?shù)的數(shù)制中,每位數(shù)字只有八種可能,即0-7。
第2步:處理小數(shù)時,保留小數(shù)點(diǎn)不變,以它為起點(diǎn),向兩邊處理。
假設(shè)你要將二進(jìn)制數(shù)字10010.11轉(zhuǎn)換為八進(jìn)制數(shù)字。通常情況下,你應(yīng)該從右到左地將數(shù)字分成三個一組。但是有小數(shù)點(diǎn)時,你需要從小數(shù)點(diǎn)開始。所以,對于小數(shù)點(diǎn)左邊的數(shù)字(10010),你需要從右到左地把它分成(010 010)。對于小數(shù)點(diǎn)右邊的數(shù)字,你需要從左到右地進(jìn)行處理,得到(110)。添加零時,應(yīng)在分組處理結(jié)束的位置添加。最后分解成010 010 .110。
101.1 → 101 .100
1.01001 → 001 .010 010
1001101.0101 → 001 001 101 .010 100
第3步:使用八進(jìn)制換算表來將八進(jìn)制數(shù)轉(zhuǎn)換回二進(jìn)制數(shù)。
反向轉(zhuǎn)換時,你需要用到換算表,除非對八進(jìn)制非常熟悉且逐個思考每種組合,否則簡簡單單的數(shù)字“3”無法為你提供足夠的信息來進(jìn)行轉(zhuǎn)換。使用以下表格就能輕松地將每位八進(jìn)制數(shù)轉(zhuǎn)換成三個二進(jìn)制數(shù),然后將它們合到一起即可:
0 → 000
1 → 001
2 → 010
3 → 011
4 → 100
5 → 101
6 → 110
7 → 111
小提示
分解數(shù)字時要慢慢來。最好用一張留有大片空白的草稿紙。
參考
http://www.robotroom.com/NumberSystems4.html
http://www.robotroom.com/NumberSystems4.html
http://coolconversion.com/math/binary-octal-hexa-decimal/_binary__101010011__octal_
http://www.robotroom.com/NumberSystems2.html
http://www.robotroom.com/NumberSystems4.html
擴(kuò)展閱讀,以下內(nèi)容您可能還感興趣。
將二進(jìn)制數(shù)10001110110轉(zhuǎn)換成八進(jìn)制數(shù)是多少?
是2166。
10001110110轉(zhuǎn)換成八進(jìn)制過程如下:
三位一隔,最高位不足3位的,前面補(bǔ)0
010,001,110,110
2.使用8421位權(quán)值換算:
110就是6
001就是1
010就是2
所以最終結(jié)果是2166。
二進(jìn)制到八進(jìn)制的轉(zhuǎn)換方法:
從低位到高位,把每3位二進(jìn)制數(shù)轉(zhuǎn)換成一位八進(jìn)制數(shù)即可。
由于2的3次方等于8,八進(jìn)制和二進(jìn)制之間的轉(zhuǎn)化是三次方的關(guān)系,可以把二進(jìn)制數(shù)分段轉(zhuǎn)化,也就是從后向前開始,三位三位的轉(zhuǎn)化。
二進(jìn)制數(shù)轉(zhuǎn)換為對應(yīng)的十進(jìn)制、八進(jìn)制和十六進(jìn)制數(shù),C語言?
#include <stdio.h>
#include <string.h>
char s[128];
int main(){
printf("Input a binary number:");
gets(s);
int len,i,n=0;
len=strlen(s);
for (i=0; i<len; i++) {
if(s[i]=='1'){
n<<=1;
n|=1;
}
else{
n<<=1;
}
}
printf("The number is %d in decimal.\n",n);
printf("The number is %o in octal.\n",n);
printf("The number is %X in octal.\n",n);
}本回答被提問者和網(wǎng)友采納
將十進(jìn)制數(shù)215轉(zhuǎn)換成二進(jìn)制8進(jìn)制數(shù)是
轉(zhuǎn)換成二進(jìn)制:11010111
轉(zhuǎn)換成八進(jìn)制:327
步驟:
1、轉(zhuǎn)換成二進(jìn)制:
215/2=107.....1
107/2=53.....1
53/2=26.....1
26/2=13.....0
13/2=6.....1
6/2=3.....0
3/2=1.....1
1/2=0.....1
所以結(jié)果為11010111
2、轉(zhuǎn)換成八進(jìn)制:
整數(shù)部分除8取余。
215/8=26.....7
26/8=3.....2
3/8=0.....3
所以結(jié)果為327
擴(kuò)展資料:
二進(jìn)制:215除2取余數(shù),再除2取余數(shù)···一直除到0或1,然后所有余數(shù)倒序排列就是所得二進(jìn)制
八進(jìn)制:同理215除8···一直除到小于8,所得余數(shù)倒序。
二進(jìn)制計算方式:除2取余法,余數(shù)倒排數(shù)即可。
八進(jìn)制計算方式:除8取余法,余數(shù)倒排數(shù)即可。
二進(jìn)制數(shù)和八進(jìn)制數(shù)十六進(jìn)制數(shù)怎么轉(zhuǎn)換???
二進(jìn)制轉(zhuǎn)8進(jìn)制或16進(jìn)制可以直接用BCD碼就是8421算法。有效位乘以BCD碼,如101101001(2)轉(zhuǎn)換8進(jìn)制就是3位一組先分開101 101 001 然后分別算出第一組101=1乘4加0乘2加1乘1。結(jié)果就是5(8)剩下兩組一樣的方法結(jié)果就是551(8)。
轉(zhuǎn)換16進(jìn)制就是4位一組,不夠4位前面加零。還是用101101001介紹,分開后就是0001 0110 1001前面不夠4位補(bǔ)零即可。第一組就是1不用算,第二組就是0乘8加1乘4加1乘2加0乘1結(jié)果就是6(16)整體轉(zhuǎn)換后就是169(16)。
這樣明白了嗎?
二進(jìn)制怎么轉(zhuǎn)為八進(jìn)制,舉個例子
二進(jìn)制轉(zhuǎn)換成八進(jìn)制
每三位二進(jìn)制數(shù)相當(dāng)于一個八進(jìn)制數(shù)
從后面開始劃,三位一段,最前面不足三位的添0
比如:
1011011101
就可以分成四個3位的
001,011,011,101
然后把每三個數(shù)按421的數(shù)加起來,就是:
001就是0+0+1,011是0*4+1*2+1=0+2+1,101=1*4+0*2+1=4+0+1
得到四個數(shù):1,3,3,5
所以二進(jìn)制 1011011101得到的八進(jìn)制數(shù)就是:1335
換16進(jìn)制也一樣
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com