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