十六进制AB6.C转为八进制为()有详解

作者&投稿:张龚 (若有异议请与网页底部的电邮联系)
十六进制数F6.B8H转换成八进制数。求过程~

F6.B8H
=(1111 0110.1011 1000)2 //每一位16进制数转换为4位2进制数
=(11 110 110.101 110)2 //从小数点向两边,每三位2二进制数一段
=(366.56)8 //每三位2二进制数转换为一位8进制数

此题涉及到大数据处理(输入的16进制数最大可能到100000位),所以不能用常规的除8模8方法做,思路:
先将十六进制转为二进制表示
再将二进制转换为八进制表示,然后输出
具体程序实现如下:
#include #include #include /* 将十六进制字符转换为数值 */ int get_value(const char c){ if (c >= '0' && c >3)&0x1);/* bit3 */ output[j++] = ((tmp>>2)&0x1);/* bit2 */ output[j++] = ((tmp>>1)&0x1);/* bit1 */ output[j++] = ((tmp>>0)&0x1);/* bit0 */ ptr ++; } /* 将二进制转换为八进制,3位二进制数对应1位八进制数,从低位开始转 */ /* j为二进制数组下标,每个循环减3 */ /* i为八进制数组下标,每个循环减1 */ j=len*4-1; i=(len*4+2)/3 - 1; output2[i+1] = '\0'; for(;j>=0;) { if(j >= 2) output2[i--] = (output[j-2]<<2 | output[j-1]<<1 | output[j]) + '0'; else if (j == 1) output2[i--] = (output[j-1]<<1 | output[j])+'0'; else if (j == 0) output2[i--] = output[j]+'0'; j -= 3; } /* 八进制数组的有效下标从 i+1 开始 */ j = i+1; /* 去除前导的'0'字符(可能会影响判定结果) */ while(output2[j]=='0') j++; /* 如果整个字符串都是'0',则直接输出结果'0',否则从首位非'0'开始输出 */ if( output2[j] == '\0') printf("0
"); else printf("%s
", &output2[j]); } free(input); free(output); free(output2); return 0;}

最好最快的方法,就是先把十六进制转换为二进制,然后再转换为八进制。十六进制数1~9、A~F对应二进制数为 0000 ~ 1111,而八进制数1~7对应二进制数为 000 ~ 111。所以,
十六进制数(AB6.C) H = 二进制数(1010,1011,0110。1100)B。注意小数点的位置,为了转换方便,也可以写成(101,010,110,110。110,0)B。转换为八进制数为5266.6(最后那个0就不要了)。所以答案为(5266.6)O。

把十六进制AB6.C先转换成二进制数:一位十六进制数是四位的二进制数,得到的结果是:101010110110.1100,再把二进制数转换成八进制数:整数部分从低位到高位每3位一组,最高位不够位补零,小数部分从高位到低位也是3位一组,最低位不够位补零,将3位一组的二进制数用八进制数代入即可。所以
AB6.C(十六进制数}=5266.60(八进制数)

(AB6.C)16
=(101010110110.1100)2
=(101 010 110 110.110 0)2
=(5266.6)8

(AB6.C)16=(101 010 110 110 .101 0)2=(5266.5)8



十六进制数A- F转换二进制数是什么?
转换表如下,括号内为十六进制 0000(0) 0001 (1) 0010 (2) 0011 (3) 0100 (4) 0101 (5)0110 (6) 0111 (7) 1000 (8) 1001 (9) 1010(A) 1011 (B)1100 (C) 1101 (D) 1110 (E) 1111 (F)例如:10101011划分为1010 1011,根据转换表十六进制为AB ...

十六进制数AB所对应二的数是10101011请问是怎么算出来的? 二进制数...
16位制的1位数对应2进制相应4位数,一一对应。A对应1010;B对应1011。A顺序是10,2进制就是1010;B顺序是11,2进制就是1011。2进的11是10进的2^1+2^0=2+1=3 2进111是10进2^2+2^1+2^0=4+2+1=7

二进制与十进制、八进制、十六进制之间的转换(有例子,有公式)谢谢_百度...
转换表如下,括号内为十六进制 0000(0) 0001 (1) 0010 (2) 0011 (3) 0100 (4) 0101 (5)0110 (6) 0111 (7) 1000 (8) 1001 (9) 1010(A) 1011 (B)1100 (C) 1101 (D) 1110 (E) 1111 (F)例如:10101011划分为1010 1011,根据转换表十六进制为AB ...

十六进制数有哪些?急死了
转换方法:十进制化为十六进制 方法1:采用除16取余法。例:将十进制数115转化为八进制数 16| 115…… 3 16| 7 …… 7 结果:(115)10 = (73)16 方法2:先将十进制化为二进制,再将二进制化为十六进制。十六进制化为十进制 例:将十六进制数2AB.6转换成十进制数:(2AB.6)16 = ...

c语言中二进制 十进制 八进制 十六进制之间的换算?
分的不够的前边补零,用四位数的二进制数来代表一个16进制。转换表如下,括号内为十六进制 0000(0)0001 (1)0010 (2)0011 (3)0100 (4)0101 (5)0110 (6)0111 (7)1000 (8)1001 (9)1010(A)1011 (B)1100 (C)1101 (D)1110 (E)...

十六进制数1AB是什么意思?是不是表示1乘以10乘以11呀?还是其他的算法...
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F;1AB:是3位16进制的数,不表示1乘以10乘以11;十进制的 123=1×10² + 2×10 + 3×10°=100+20+3 十六进制的1AB=1×16² + A×16 + B×16°=256+10×16+11=427 即:十六进制的1AB,等于十进制的427。

十六进制转换成二进制
每四位二进制转化为一位十六进制数 如:1AB.FC 以小数点为基准,(1)16=(0001)2 (A)16=(1010)2 (B)16=(1011)2 (F)16=(1111)2 (C)16=(1100)2 所以(1AB.FC)16=(0001 1010 1011.1111 1100)2 应该没有别的方法了,这种转化方式实质上是从16=2^4得来的。

00ab66c8 十六进制是多少?
如果你是玩游戏用十六进制加数值。从后面加。每满16就向前一位进一!00ab66c8+1=00ab66c9 加5就等于00ab66cd,8+5等于13,所以就是d。加10的话,8+10=18,超过16了,所以就向前进一位,c(12)就变为d(13),整整16就为0,17就为1,18就为2。00ab66c8加10就等于00ab66d2!

将十六进制3AB.7转换成二进制是多少?谢谢
十六进制数字与二进制数字的对应关系如下:0000 -> 0 0100 -> 4 1000 -> 8 1100 -> C 0001 -> 1 0101 -> 5 1001 -> 9 1101 -> D 0010 -> 2 0110 -> 6 1010 -> A 1110 -> E 0011 -> 3 0111 -> 7 1011 -> B 1111 -> F 例:将十六进制数3AB.7 转换成二进制:3 ...

百分比颜色值对应十六进制
   百分比:67% HEX:AB    百分比:68% HEX:AD    百分比:69% HEX:B0    百分比:70% HEX:B3    百分比:71% HEX:B5    百分比:72% ...

大安市17823124792: 十六进制数AB6.C转化成八进制数是 -
须哀雪凝:[答案] (AB6.C)16=(101 010 110 110 .101 0)2=(5266.5)8

大安市17823124792: 怎么把十六进制转化为八进制 -
须哀雪凝: 十六进制转化为八进制的方法有两种,如下: 第一种:他们之间的转换可以先转成二进制然后再相互转换. 第二种:他们之间的转换可以先转成十进制然后再相互转换. 十六进制(英文名称:Hexadecimal),是计算机中数据的一种表示方法...

大安市17823124792: 怎样将16进制的数转化为8进制的数? -
须哀雪凝:[答案] 首先把十六进制数的每1位数转换为4个二进制数,直接替代就可以了,表如下: 十六进制 二进制 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 A 1010 B 1011 C 1100 D 1101 E 1110 F 1111 之后,将每3个二进制转换为...

大安市17823124792: 十六进制(6B.B)转换为八进制的解题过程是? -
须哀雪凝: 先将其转换成二进制数,然后再转换成八进制数: 6B.Bh=1101011.1011b=153.54o. 每1位十六进制数,转换成4位二进制数: 0 <=> 0000 1 <=> 0001 2 <=> 0010 3 <=> 0011 4 <=> 0100 5 <=> 0101 6 <=> 0110 7 <=> 0111 8 <=> 1000 9 <=> ...

大安市17823124792: 怎样将16进制的数转化为8进制的数? -
须哀雪凝: 首先把十六进制数的每1位数转换为4个二进制数,直接替代就可以了,表如下:十六进制 二进制0 00001 00012 00103 00114 01005 01...

大安市17823124792: 问一个计算机进制的问题请问把十六进制ABC转换成8进制答案是多少
须哀雪凝: 我不会直接的转换,但可以把不会的问题转换成会的问题: 先把十六进制转换成十进制或二进制,在转换成八进制. 十六进制转换成十进制:ABCH=10*16^2+11*16^1+...

大安市17823124792: 十六进制与八进制之间的转化的简单方法 -
须哀雪凝: 打开windows自带的计算器,在程序-->附件里面,在菜单查看-->科学型,里面有十六进制与八进制,先输入十六进制数,点八进制按钮就可以转换成八进制的数了.

大安市17823124792: 把16进制转换为8进制可以先将16进制转换为10进制吗 -
须哀雪凝: 可以先将16进制转换为10进制,再将10进制转换成8进制 如果是十进制转换其他进制,就用短除法,取余数,倒记例如 123转换成二进制 结果为(1111011)2 转换其他的进制也是一样,只是你转换成几进制就除以几(就是把2改成几就行了)

大安市17823124792: 16进制数16A转换为8进制数为多少? -
须哀雪凝: 首先转换成10进制数16A是1*16^2+6*16+10=362;然后转换成8进制是552

大安市17823124792: 十六进制数“BD”转换为等值的八进制数是 -
须哀雪凝: 254 十六进制的AC二进制数是1010,1100. 将这个数以三位分隔就是10,101,100,所以是八进制数254.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网