十进制:整数部分:(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:177 7030 7066 E-MAIL:11247931@qq.com