• 关于

    十六进制数

    的搜索结果

问题

怎样实现十六进制转八进制和十进制?

蛮大人123 2019-12-01 19:36:07 1140 浏览量 回答数 2

回答

二进制数 二进制数有两个特点:它由两个基本数字0,1组成,二进制数运算规律是逢二进一。 为区别于其它进制数,二进制数的书写通常在数的右下方注上基数2,或加后面加B表示。 例如:二进制数10110011可以写成(10110011)2,或写成10110011B,对于十进制数可以不加注.计算机中的数据均采用二进制数表示,这是因为二进制数具有以下特点: 1) 二进制数中只有两个字符0和1,表示具有两个不同稳定状态的元器件。例如,电路中有,无电流,有电流用1表示,无电流用0表示。类似的还比如电路中电压的高,低,晶体管的导通和截止等。 2) 二进制数运算简单,大大简化了计算中运算部件的结构。 二进制数的加法和乘法运算如下: 0+0=0 0+1=1+0=1 1+1=10 0×0=0 0×1=1×0=0 1×1=1 八进制(Octal) 由于二进制数据的基R较小,所以二进制数据的书写和阅读不方便,为此,在小型机中引入了八进制。八进制的基R=8=2^3,有数码0、1、2、3、4、5、6、7,并且每个数码正好对应三位二进制数,所以八进制能很好地反映二进制。 例如:二进制数据 ( 11 101 010 . 010 110 100 )2 对应 八进制数据 ( 3 5 2 . 2 6 4 )8 十六进制数 由于二进制数在使用中位数太长,不容易记忆,所以又提出了十六进制数 十六进制数有两个基本特点:它由十六个字符0~9以及A,B,C,D,E,F组成(它们分别表示十进制数0~15),十六进制数运算规律是逢十六进一,即基R=16=2^4,通常在表示时用尾部标志H或下标16以示区别。 例如:十六进制数4AC8可写成(4AC8)16,或写成4AC8H。 1.二进制数、十六进制数转换为十进制数(按权求和) 二进制数、十六进制数转换为十进制数的规律是相同的。把二进制数(或十六进制数)按位权形式展开多项式和的形式,求其最后的和,就是其对应的十进制数——简称“按权求和”. 例如:把(1001.01)2转换为十进制数。 解:(1001.01)2 =1*8+4*0+2*0+1*1+0*(1/2)+1*(1/4) =8+0+0+1+0+0.25 =9.25 把(38A.11)16转换为十进制数 解:(38A.11)16 =3×16的2次方+8×16的1次方+10×的0次方+1×16的-1次方+1×16的-2次方 =768+128+10+0.0625+0.0039 =906.0664 2.十进制数转换为二进制数,十六进制数(除2/16取余法) 整数转换.一个十进制整数转换为二进制整数通常采用除二取余法,即用2连续除十进制数,直到商为0,逆序排列余数即可得到――简称除二取余法. 例:将25转换为二进制数 解:25÷2=12 余数1 12÷2=6 余数0 6÷2=3 余数0 3÷2=1 余数1 1÷2=0 余数1 所以25=(11001)2 同理,把十进制数转换为十六进制数时,将基数2转换成16就可以了. 例:将25转换为十六进制数 解:25÷16=1 余数9 1÷16=0 余数1 所以25=(19)16 3.二进制数与十六进制数之间的转换 由于4位二进制数恰好有16个组合状态,即1位十六进制数与4位二进制数是一一对应的.所以,十六进制数与二进制数的转换是十分简单的. (1)十六进制数转换成二进制数,只要将每一位十六进制数用对应的4位二进制数替代即可――简称位分四位. 例:将(4AF8B)16转换为二进制数. 解: 4 A F 8 B 0100 1010 1111 1000 1011 所以(4AF8B)16=(1001010111110001011)2 (2)二进制数转换为十六进制数,分别向左,向右每四位一组,依次写出每组4位二进制数所对应的十六进制数――简称四位合一位. 例:将二进制数(111010110)2转换为十六进制数. 解: 0001 1101 0110 1 D 6 所以(111010110)2=1D6H 转换时注意最后一组不足4位时必须加0补齐4位

玄学酱 2019-12-02 01:28:46 0 浏览量 回答数 0

问题

Java 十进制转十六进制?

51干警网 2019-12-01 19:40:59 1917 浏览量 回答数 2

阿里云试用中心,为您提供0门槛上云实践机会!

0元试用32+款产品,最高免费12个月!拨打95187-1,咨询专业上云建议!

回答

十进制,二进制,八进制,十六进制及之间的转换 进制概念 1。 十进制 十进制使用十个数字(0、1、2、3、4、5、6、7、8、9)记数,基数为10,逢十进一。 历史上第一台电子数字计算机ENIAC是一台十进制机器,其数字以十进制表示,并以十进制形式运算。设计十进制机器比设计二进制机器复杂得多。而自然界具有两种稳定状态的组件普遍存在,如开关的开和关,电路的通和断,电压的高和低等,非常适合表示计算机中的数。设计过程简单,可靠性高。因此,现在改为二进制计算机。 2。 二进制 二进制以2为基数,只用0和1两个数字表示数,逢2进一。 二进制与遵循十进制数遵循一样的运算规则,但显得比十进制更简单。例如: (1)加法:0+0=0 0+1=1 1+0=1 1+1=0 (2)减法:0-0=0 1-1=0 1-0=1 0-1=1 (3)乘法:0*0=0 0*1=0 1*0=0 1*1=1 (4)除法:0/1=0 1/1=1,除数不能为0 3。 八进制 所谓八进制,就是其基数为8,基数值可以取0、1、2、3、4、5、6、7共8个值,逢八进一。 八进制与十进制运算规则一样。那么为什么要用八进制呢。难道要设计八进制的计算机么。实际上,八进制与十六进制的引用,主要是为了书写和表示方便,因为二进制表示位数比较长。如:(1024)10 用二进制表示为 (10000000000)2,共有11个数字,用八进制表示为(2000)8。更重要的是,由于二进制与八进制存在在一种对等关系,每三位二进制与一位八进制数完全对等(23=8)。所以二进制和十进制在运算上无区别,而时进制不具备这一优点。 4。 十六进制 十六进制应用也是非常广泛的一种计数制。在使用者看来,十六进制是二进制数的一种更加紧凑的一种表示方法。 基数为:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,逢十进一。在十六进制系统中,数值为10到15的数分别用A、B、C、D、E、F表示。 二进制数及与之等值的八进制、十进制和十六进制数 二进制 八进制 十进制 十六进制 0000 0 0 0 0001 1 1 1 0010 2 2 2 0011 3 3 3 0100 4 4 4 0101 5 5 5 01106 6 6 0111 7 7 7 1000 10 8 8 1001 11 9 9 1010 12 10 A 1011 13 11 B 1100 14 12 C 1101 15 13 D 1110 16 14 E 1111 17 15 二。进制转换 1。二进制与十进制数间的转换 (1)二进制转换为十进制 将每个二进制数按权展开后求和即可。请看例题: 把二进制数(101.101)2=1*22+0*21+1*20+1*2-1+0*2-2+1*2-3=(5.625)10 (2)十进制转换为二进制 一般需要将十进制数的整数部分与小数部分分开处理。 整数部分计算方法:除2取余法 请看例题: 十进制数(53)10的二进制值为(110101)2 小数部分计算方法:乘2取整法,即每一步将十进制小数部分乘以2,所得积的小数点左边的数字(0或1)作为二进制表示法中的数字,第一次乘法所得的整数部分为最高位。请看例题: 将(0.5125)10转换成二进制。(0.5125)10=(0.101)2 2。 八进制、十六进制与十六进制间的转换 八进制、十六进制与十六进制之间的转换方法与二进制,同十进制之间的转换方法类似。例如: (73)8=7*81+3=(59)10 (0.56)8=5*8-1+6*8-2=(0.71875)10 (12A)16=1*162+2*161+A*160=(298)10 (0.3C8)16=3*16-1+12*16-2+8*16-3=(0.142578125)10 十进制整数→→→→→八进制 方法:“除8取余” 十进制整数→→→→→十六进制 方法:“除16取余” 例如: (171)10=(253)8 (2653)10=(A5D)16 十进制小数→→→→→八进制小数 方法:“乘8取整” 十进制小数→→→→→十六进制小数 方法:“乘16取整” 例如: (0。71875)10=(0.56)8 (0.142578125)10=(0.3C8)16 3. 非十进制数之间的转换 (1)二进制数与八进制数之间的转换 转换方法是:以小数点为界,分别向左右每三位二进制数合成一位八进制数,或每一位八进制数展成三位二进制数,不足三位者补0。例如: (423。45)8=(100 010 011.100 101)2 (1001001.1101)2=(001 001 001.110 100)2=(111.64)8 2。二进制与十六进制转换 转换方法:以小数点为界,分别向左右每四位二进制合成一位十六进制数,或每一位十六进制数展成四位二进制数,不足四位者补0。例如: (ABCD。EF)16=(1010 1011 1100 1101.1110 1111)2 (101101101001011.01101)2=(0101 1011 0100 1011.0110 1000)2=(5B4B。68)16

马铭芳 2019-12-02 01:28:37 0 浏览量 回答数 0

回答

首先,2^4=16 ,因此在进行十六进制转为二进制时,将这个十六进制数拆开,然后把每一位数当做一个十进制,再将这个十进制数转为四位二进制,最后将这些二进制一次写下来就OK啦 十六进制42,拆开为4和2,(注:十六进制中,A表示十进制的10 ,B表示十进制11 ,C表示十进制12 ,D表示十进制13 ,E表示十进制14 ,F表示十进制15) 十进制4用四位二进制为0100, 十进制2用四位二进制为0010, 那么一次将之写下来01000010, 这个数就是十六进制42转为二进制的结果。

琴瑟 2019-12-02 01:28:44 0 浏览量 回答数 0

回答

对于初学者来说,二 八 十六进制之间的换算会显得有些繁琐,不过可以以十进制为中介来换算,首先要学会二 八 十六进制分别与十进制的互化方法: 1、转换为十进制 二进制化为十进制 例:将二进制数101.01转换成十进制数 (101.01)2 = 1×2^2 + 0×2^1 + 1×2^0 + 0×2^(-1) + 1×2^(-2) = (5.25)10 八进制化为十进制 例:将八进制数12.6转换成十进制数 (12.6)8 = 1×8^1 + 2×8^0 + 6×8^(-1) = (10.75)10 十六进制化为十进制 例:将十六进制数2AB.6转换成十进制数: (2AB.6)16 = 2×16^2 + 10×16^1 + 11×16^0 + 6×16^(-1) = (683.375)10 2、十进制化二,八,十六进制(三种方法类似) 十进制化二进制 规则:除二取余,直到商为零为止,再将所有余数倒排。 例:将十进制数86转化为二进制 2 | 86…… 余0 2 | 43…… 余1 2 | 21…… 余1 2 | 10…… 余0 2 | 5 …… 余1 2 | 2 …… 余0 2 | 1 …… 余1 结果:(86)10 = (1010110)2 十进制化八进制 方法:采用除8取余法。 例:将十进制数115转化为八进制数 8| 115…… 3 8| 14 …… 6 8| 1 …… 1 结果:(115)10 = (163)8 十进制化十六进制 方法:采用除16取余法。 例:将十进制数115转化为八进制数 16| 115…… 3 16| 7 …… 7 结果:(115)10 = (73)16 至于二,八,十六进制之间的转换,可以通过先化成十进制数,再进行转化,这样比较简单,不需要记很多。

小哇 2019-12-02 01:29:08 0 浏览量 回答数 0

回答

⒉计算机中常用的进制 二进制、八进制、十六进制 进制 数 字 进位方法 十进制 0、1、2、3、4、5、6、7、8、9 逢十进一 二进制 0、1 逢二进一 八进制 0、1、2、3、4、5、6、7 逢八进一 十六进制 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 逢十六进一 这些进制与我们日常生活中的进制有怎样的关系呢。 我们日常生活中还有哪些进制。 二进制 八进制 十进制 十六进制 1 1 1 1 10 2 2 2 11 3 3 3 100 4 4 4 101 5 5 5 110 6 6 6 111 7 7 7 1000 10 8 8 1001 11 9 9 1010 12 10 A 1011 13 11 B 1100 14 12 C 1101 15 13 D 1110 16 14 E 1111 17 15 F 10000 20 16 10 三、利用知识完成任务 ⒈二进制与十进制的转换。 ⑴二进制转换成十进制 把十进制数17转换二进制数。 2 17 1(最低位) 2 8 0 2 4 0 2 2 0 1 1(最高位) 结果等于10001 ⒉二进制转换成十进制 把二进制数11011转换成十进制。 (11011)2=1×24+1×23+0×22+1×21+1×20 =16+8+0+2+1 =27 ⒊学生练习 把十进制数37转换成二进制数,然后把算出的二进制结果再转换成十进数。 看看我们最终算出来的结果是不是37。 如果不是,那是为什么。 ⒋小结:同学们,我们刚才熟悉了计算机的二进制,也了解了二进制与十进制的转换,我们常用的计算器就是运用的二进制的原理进行一些常用的算术运算。 因为二进制有一个很突出的特点,它只有两个数,而我们的计算器要运算的话,就是通过电流的大小或者有电与无电的区别来进行的,电流的大小或者有电无电分别代表数字1和0,从而实现了我们常用的算术运算。 我们刚刚学习了二进制与十进制的转换,那么八进制和十六进制怎样和十进制进行转换呢。我们又该怎样去做。我们能不能借鉴一下刚才的方法。为什么。 学生分组讨论,教师巡视、指导。 (学生回答,教师总结) ⒌八进制、十六进制与十进制的转换。 ⑴十进制数转换成八进制数 8 247 7(最低位) 8 30 6 3 3(最高位) 结果等于367 ⑵八进制数转换成十进制数 (367)8=3×82+6×81+7×80 =192+48+7 =(247)10 ⑶十进制换成十六进制 16 578 2(最低位) 16 36 4 2 2(最高位) 结果等于242 ⑷十六进制转换成十进制数 (242)16=2×162+4×161+2×160 =512+64+2 =578 与 或 分别对应 AND OR

聚小编 2019-12-02 01:28:39 0 浏览量 回答数 0

问题

关于android 字符型十六进制数转换为字符型十进制数 问题

爵霸 2019-12-01 20:12:51 1027 浏览量 回答数 1

回答

十六进制照样采用位置计数法,位权是16为底的幂。对于n位整数,m位小数的十六进制数用加权系数的形式表示如下。 十六进制(英文名称:Hexadecimal),是计算机中数据的一种表示方法。同我们日常生活中的表示法不一样。它由0-9,A-F组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9;A-F对应10-15;N进制的数可以用0~(N-1)的数表示,超过9的用字母A-F。 易中的十六进制计算。还是得从:"16H"-->22-->对22的计算-->结果-->取十六进制文本,简单的说,把一个十进制整数装换为二进制证书的方法就“除2取余数法”即把被转换的十进制整数反复的除以2,直到商位0。所得到的余数就是这个树的二进制。 16进制里1-9的含义与十进制相同,而A、B、C、D、E、F分别代表十进制的10、11、12、13、14、15,十六进制的10等同于十进制的16(逢16进一)。

沉默术士 2019-12-02 01:28:25 0 浏览量 回答数 0

回答

有一个比较快的算法,先转换成十六进制数(除以16的运算要比除以2的运算快很多),再转换成二进制数(十六进制数转换成二进制数比较简单)。 2008/16=125 余数8 125/16=7 余数13,十六进制数中表示为D 7/16=0 余数7 2008d=7D8h 每1位十六进制数可以转换成4位二进制数:0~9 -> 0000~1001,A~F-> 1010~1111。 7D8h=011111011000b,最高有效位之前的0没有意义,可以删去,所以2008d=1111101000b。

知与谁同 2019-12-02 01:29:01 0 浏览量 回答数 0

回答

先将它转换为十六进制。左边四位,1011,就是B,右边四位,0011,就是3,合起来就是十六进制的B3,B,在十进制里,表示11,就是11*16+3=179。答案即为,二进制数10110011等于十六进制数B3,等于八进制数263,等于十进制数179。

聚小编 2019-12-02 01:27:51 0 浏览量 回答数 0

问题

将二进制数10011010分别转化为八进制数和十六进制数,并写出计算步骤

知与谁同 2019-12-01 20:18:41 1330 浏览量 回答数 3

回答

1。二进制与十进制数间的转换 (1)二进制转换为十进制 将每个二进制数按权展开后求和即可。请看例题: 把二进制数(101.101)2=1*22+0*21+1*20+1*2-1+0*2-2+1*2-3=(5.625)10 (2)十进制转换为二进制 一般需要将十进制数的整数部分与小数部分分开处理。 整数部分计算方法:除2取余法请看例题: 十进制数(53)10的二进制值为(110101)2 小数部分计算方法:乘2取整法,即每一步将十进制小数部分乘以2,所得积的小数点左边的数字(0或1)作为二进制表示法中的数字,第一次乘法所得的整数部分为最高位。请看例题: 将(0.5125)10转换成二进制。(0.5125)10=(0.101)2 2。 八进制、十六进制与十六进制间的转换 八进制、十六进制与十六进制之间的转换方法与二进制,同十进制之间的转换方法类似。例如: (73)8=7*81+3=(59)10 (0.56)8=5*8-1+6*8-2=(0.71875)10 (12A)16=1*162+2*161+A*160=(298)10 (0.3C8)16=3*16-1+12*16-2+8*16-3=(0.142578125)10 十进制整数→→→→→八进制方法:“除8取余” 十进制整数→→→→→十六进制方法:“除16取余” 例如: (171)10=(253)8 (2653)10=(A5D)16 十进制小数→→→→→八进制小数 方法:“乘8取整” 十进制小数→→→→→十六进制小数方法:“乘16取整”例如: (0。71875)10=(0.56)8 (0.142578125)10=(0.3C8)16 3.非十进制数之间的转换 (1)二进制数与八进制数之间的转换 转换方法是:以小数点为界,分别向左右每三位二进制数合成一位八进制数,或每一位八进制数展成三位二进制数,不足三位者补0。例如: (423。45)8=(100 010 011.100 101)2 (1001001.1101)2=(001 001 001.110 100)2=(111.64)8 2。二进制与十六进制转换 转换方法:以小数点为界,分别向左右每四位二进制合成一位十六进制数,或每一位十六进制数展成四位二进制数,不足四位者补0。例如: (ABCD。EF)16=(1010 1011 1100 1101.1110 1111)2 (101101101001011.01101)2=(0101 1011 0100 1011.0110 1000)2=(5B4B。68)16 为什么需要八进制和十六进制? 编程中,我们常用的还是10进制……必竟C/C++是高级语言。 比如: int a = 100,b = 99; 不过,由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决问题。 但,二进制数太长了。比如int 类型占用4个字节,32位。比如100,用int类型的二进制数表达将是: 0000 0000 0000 0000 0110 0100 面对这么长的数进行思考或操作,没有人会喜欢。因此,C,C++ 没有提供在代码直接写二进制数的方法。 用16进制或8进制可以解决这个问题。因为,进制越大,数的表达长度也就越短。不过,为什么偏偏是16或8进制,而不其它的,诸如9或20进制呢。 2、8、16,分别是2的1次方,3次方,4次方。这一点使得三种进制之间可以非常直接地互相转换。8进制或16进制缩短了二进制数,但保持了二进制数的表达特点。在下面的关于进制转换的课程中,你可以发现这一点。 6.2 二、八、十六进制数转换到十进制数 6.2.1 二进制数转换为十进制数 二进制数第0位的权值是2的0次方,第1位的权值是2的1次方…… 所以,设有一个二进制数:0110 0100,转换为10进制为: 下面是竖式: 0110 0100 换算成 十进制 第0位 0 * 20 = 0 第1位 0 * 21 = 0 第2位 1 * 22 = 4 第3位 0 * 23 = 0 第4位 0 * 24 = 0 第5位 1 * 25 = 32 第6位 1 * 26 = 64 第7位 0 * 27 = 0 + --------------------------- 100 用横式计算为: 0 * 20 + 0 * 21 + 1 * 22 + 1 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100 0乘以多少都是0,所以我们也可以直接跳过值为0的位: 1 * 22 + 1 * 23 + 1 * 25 + 1 * 26 = 100 6.2.2 八进制数转换为十进制数 八进制就是逢8进1。 八进制数采用 0~7这八数来表达一个数。 八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方…… 所以,设有一个八进制数:1507,转换为十进制为: 用竖式表示: 1507换算成十进制。 第0位 7 * 80 = 7 第1位 0 * 81 = 0 第2位 5 * 82 = 320 第3位 1 * 83 = 512 + -------------------------- 839 同样,我们也可以用横式直接计算: 7 * 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839 结果是,八进制数 1507 转换成十进制数为 839 6.2.3 八进制数的表达方法 C,C++语言中,如何表达一个八进制数呢。如果这个数是 876,我们可以断定它不是八进制数,因为八进制数中不可能出7以上的阿拉伯数字。但如果这个数是123、是567,或12345670,那么它是八进制数还是10进制数,都有可能。 所以,C,C++规定,一个数如果要指明它采用八进制,必须在它前面加上一个0,如:123是十进制,但0123则表示采用八进制。这就是八进制数在C、C++中的表达方法。 由于C和C++都没有提供二进制数的表达方法,所以,这里所学的八进制是我们学习的,CtC++语言的数值表达的第二种进制法。 现在,对于同样一个数,比如是100,我们在代码中可以用平常的10进制表达,例如在变量初始化时: int a = 100; 我们也可以这样写: int a = 0144; //0144是八进制的100;一个10进制数如何转成8进制,我们后面会学到。 千万记住,用八进制表达时,你不能少了最前的那个0。否则计算机会通通当成10进制。不过,有一个地方使用八进制数时,却不能使用加0,那就是我们前面学的用于表达字符的“转义符”表达法。 6.2.4 八进制数在转义符中的使用 我们学过用一个转义符'\'加上一个特殊字母来表示某个字符的方法,如:'\n'表示换行(line),而'\t'表示Tab字符,'\''则表示单引号。今天我们又学习了一种使用转义符的方法:转义符'\'后面接一个八进制数,用于表示ASCII码等于该值的字符。 比如,查一下第5章中的ASCII码表,我们找到问号字符(?)的ASCII值是63,那么我们可以把它转换为八进值:77,然后用 '\77'来表示'?'。由于是八进制,所以本应写成 '\077',但因为C,C++规定不允许使用斜杠加10进制数来表示字符,所以这里的0可以不写。 事实上我们很少在实际编程中非要用转义符加八进制数来表示一个字符,所以,6.2.4小节的内容,大家仅仅了解就行。 6.2.5 十六进制数转换成十进制数 2进制,用两个阿拉伯数字:0、1; 8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7; 10进制,用十个阿拉伯数字:0到9; 16进制,用十六个阿拉伯数字……等等,阿拉伯人或说是印度人,只发明了10个数字啊。 16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。 十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方…… 所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方。 假设有一个十六进数 2AF5, 那么如何换算成10进制呢。 用竖式计算: 2AF5换算成10进制: 第0位: 5 * 160 = 5 第1位: F * 161 = 240 第2位: A * 162 = 2560 第3位: 2 * 163 = 8192 + ------------------------------------- 10997 直接计算就是: 5 * 160 + F * 161 + A * 162 + 2 * 163 = 10997 (别忘了,在上面的计算中,A表示10,而F表示15) 现在可以看出,所有进制换算成10进制,关键在于各自的权值不同。 假设有人问你,十进数 1234 为什么是 一千二百三十四。你尽可以给他这么一个算式: 1234 = 1 * 103 + 2 * 102 + 3 * 101 + 4 * 100 6.2.6 十六进制数的表达方法 如果不使用特殊的书写形式,16进制数也会和10进制相混。随便一个数:9876,就看不出它是16进制或10进制。 C,C++规定,16进制数必须以 0x开头。比如 0x1表示一个16进制数。而1则表示一个十进制。另外如:0xff,0xFF,0X102A,等等。其中的x也也不区分大小写。(注意:0x中的0是数字0,而不是字母O) 以下是一些用法示例: int a = 0x100F; int b = 0x70 + a; 至此,我们学完了所有进制:10进制,8进制,16进制数的表达方式。最后一点很重要,C/C++中,10进制数有正负之分,比如12表示正12,而-12表示负12,;但8进制和16进制只能用达无符号的正整数,如果你在代码中里:-078,或者写:-0xF2,C,C++并不把它当成一个负数。 6.2.7 十六进制数在转义符中的使用 转义符也可以接一个16进制数来表示一个字符。如在6.2.4小节中说的 '?' 字符,可以有以下表达方式: '?' //直接输入字符 '\77' //用八进制,此时可以省略开头的0 '\0x3F' //用十六进制 同样,这一小节只用于了解。除了空字符用八进制数 '\0' 表示以外,我们很少用后两种方法表示一个字符。 6.3 十进制数转换到二、八、十六进制数 6.3.1 10进制数转换为2进制数 给你一个十进制,比如:6,如果将它转换成二进制数呢。 10进制数转换成二进制数,这是一个连续除2的过程: 把要转换的数,除以2,得到商和余数, 将商继续除以2,直到商为0。最后将所有余数倒序排列,得到数就是转换结果。 听起来有些糊涂。我们结合例子来说明。比如要转换6为二进制数。 “把要转换的数,除以2,得到商和余数”。 那么: 要转换的数是6, 6 ÷ 2,得到商是3,余数是0。 (不要告诉我你不会计算6÷3。) “将商继续除以2,直到商为0……” 现在商是3,还不是0,所以继续除以2。 那就: 3 ÷ 2, 得到商是1,余数是1。 “将商继续除以2,直到商为0……” 现在商是1,还不是0,所以继续除以2。 那就: 1 ÷ 2, 得到商是0,余数是1 (拿笔纸算一下,1÷2是不是商0余1!) “将商继续除以2,直到商为0……最后将所有余数倒序排列” 好极。现在商已经是0。 我们三次计算依次得到余数分别是:0、1、1,将所有余数倒序排列,那就是:110了。 6转换成二进制,结果是110。 把上面的一段改成用表格来表示,则为: 被除数 计算过程 商 余数 6 6/2 3 0 3 3/2 1 1 1 1/2 0 1 (在计算机中,÷用 / 来表示) 如果是在考试时,我们要画这样表还是有点费时间,所更常见的换算过程是使用下图的连除: 请大家对照图,表,及文字说明,并且自已拿笔计算一遍如何将6转换为二进制数。 说了半天,我们的转换结果对吗。二进制数110是6吗。你已经学会如何将二进制数转换成10进制数了,所以请现在就计算一下110换成10进制是否就是6。 6.3.2 10进制数转换为8、16进制数 非常开心,10进制数转换成8进制的方法,和转换为2进制的方法类似,惟一变化:除数由2变成8。 来看一个例子,如何将十进制数120转换成八进制数。 用表格表示: 被除数 计算过程 商 余数 120 120/8 15 0 15 15/8 1 7 1 1/8 0 1 120转换为8进制,结果为:170。 非常非常开心,10进制数转换成16进制的方法,和转换为2进制的方法类似,惟一变化:除数由2变成16。 同样是120,转换成16进制则为: 被除数 计算过程 商 余数 120 120/16 7 8 7 7/16 0 7 120转换为16进制,结果为:78。 6.4 二、十六进制数互相转换 二进制和十六进制的互相转换比较重要。不过这二者的转换却不用计算,每个C,C++程序员都能做到看见二进制数,直接就能转换为十六进制数,反之亦然。 我们也一样,只要学完这一小节,就能做到。 首先我们来看一个二进制数:1111,它是多少呢。 你可能还要这样计算:1 * 20 + 1 * 21 + 1 * 22 + 1 * 23 = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 = 15。 然而,由于1111才4位,所以我们必须直接记住它每一位的权值,并且是从高位往低位记,:8、4、2、1。即,最高位的权值为23 = 8,然后依次是 22 = 4,21=2, 20 = 1。 记住8421,对于任意一个4位的二进制数,我们都可以很快算出它对应的10进制值。 下面列出四位二进制数 xxxx 所有可能的值(中间略过部分) 仅4位的2进制数 快速计算方法 十进制值 十六进值 1111 = 8 + 4 + 2 + 1 = 15 F 1110 = 8 + 4 + 2 + 0 = 14 E 1101 = 8 + 4 + 0 + 1 = 13 D 1100 = 8 + 4 + 0 + 0 = 12 C 1011 = 8 + 4 + 0 + 1 = 11 B 1010 = 8 + 0 + 2 + 0 = 10 A 1001 = 8 + 0 + 0 + 1 = 10 9 .... 0001 = 0 + 0 + 0 + 1 = 1 1 0000 = 0 + 0 + 0 + 0 = 0 0 二进制数要转换为十六进制,就是以4位一段,分别转换为十六进制。 如(上行为二制数,下面为对应的十六进制): 1111 1101 , 1010 0101 , 1001 1011 F D , A 5 , 9 B 反过来,当我们看到 FD时,如何迅速将它转换为二进制数呢。 先转换F: 看到F,我们需知道它是15(可能你还不熟悉A~F这五个数),然后15如何用8421凑呢。应该是8 + 4 + 2 + 1,所以四位全为1 :1111。 接着转换 D: 看到D,知道它是13,13如何用8421凑呢。应该是:8 + 2 + 1,即:1011。 所以,FD转换为二进制数,为: 1111 1011 由于十六进制转换成二进制相当直接,所以,我们需要将一个十进制数转换成2进制数时,也可以先转换成16进制,然后再转换成2进制。 比如,十进制数 1234转换成二制数,如果要一直除以2,直接得到2进制数,需要计算较多次数。所以我们可以先除以16,得到16进制数: 被除数 计算过程 商 余数 1234 1234/16 77 2 77 77/16 4 13 (D) 4 4/16 0 4 结果16进制为: 0x4D2 然后我们可直接写出0x4D2的二进制形式: 0100 1011 0010。 其中对映关系为: 0100 -- 4 1011 -- D 0010 -- 2 同样,如果一个二进制数很长,我们需要将它转换成10进制数时,除了前面学过的方法是,我们还可以先将这个二进制转换成16进制,然后再转换为10进制。 下面举例一个int类型的二进制数: 01101101 11100101 10101111 00011011 我们按四位一组转换为16进制: 6D E5 AF 1B 6.5 原码、反码、补码 结束了各种进制的转换,我们来谈谈另一个话题:原码、反码、补码。 我们已经知道计算机中,所有数据最终都是使用二进制数表达。 我们也已经学会如何将一个10进制数如何转换为二进制数。 不过,我们仍然没有学习一个负数如何用二进制表达。 比如,假设有一 int 类型的数,值为5,那么,我们知道它在计算机中表示为: 00000000 00000000 00000000 00000101 5转换成二制是101,不过int类型的数占用4字节(32位),所以前面填了一堆0。 现在想知道,-5在计算机中如何表示。 在计算机中,负数以其正值的补码形式表达。 什么叫补码呢。这得从原码,反码说起。 原码:一个整数,按照绝对值大小转换成的二进制数,称为原码。 比如 00000000 00000000 00000000 00000101 是 5的 原码。 反码:将二进制数按位取反,所得的新二进制数称为原二进制数的反码。 取反操作指:原为1,得0;原为0,得1。(1变0; 0变1) 比如:将00000000 00000000 00000000 00000101每一位取反,得11111111 11111111 11111111 11111010。 称:11111111 11111111 11111111 11111010 是 00000000 00000000 00000000 00000101 的反码。 反码是相互的,所以也可称: 11111111 11111111 11111111 11111010 和 00000000 00000000 00000000 00000101 互为反码。 补码:反码加1称为补码。 也就是说,要得到一个数的补码,先得到反码,然后将反码加上1,所得数称为补码。 比如:00000000 00000000 00000000 00000101 的反码是:11111111 11111111 11111111 11111010。 那么,补码为: 11111111 11111111 11111111 11111010 + 1 = 11111111 11111111 11111111 11111011 所以,-5 在计算机中表达为:11111111 11111111 11111111 11111011。转换为十六进制:0xFFFFFFFB。 再举一例,我们来看整数-1在计算机中如何表示。 假设这也是一个int类型,那么: 1、先取1的原码:00000000 00000000 00000000 00000001 2、得反码: 11111111 11111111 11111111 11111110 3、得补码: 11111111 11111111 11111111 11111111 可见,-1在计算机里用二进制表达就是全1。16进制为:0xFFFFFF。 一切都是纸上说的……说-1在计算机里表达为0xFFFFFF,我能不能亲眼看一看呢。当然可以。利用C++ Builder的调试功能,我们可以看到每个变量的16进制值。

boxti 2019-12-02 01:27:41 0 浏览量 回答数 0

问题

在定义int类型的变量时使用十六进制表示有什么好处?

蛮大人123 2019-12-01 20:01:47 1587 浏览量 回答数 1

回答

2、8、10、16进制转换方法 生活中其实很多地方的计数方法都多少有点不同进制的影子。 比如我们最常用的10进制,其实起源于人有10个指头。如果我们的祖先始终没有摆脱手脚不分的境况,我想我们现在一定是在使用20进制。 至于二进制……没有袜子称为0只袜子,有一只袜子称为1只袜子,但若有两袜子,则我们常说的是:1双袜子。 生活中还有:七进制,比如星期。十六进制,比如小时或“一打”,六十进制,比如分钟或角度…… 我们找到问号字符(?)的ASCII值是63,那么我们可以把它转换为八进值:77,然后用 '\77'来表示'?'。由于是八进制,所以本应写成 '\077',但因为C,C++规定不允许使用斜杠加10进制数来表示字符,所以这里的0可以不写。 事实上我们很少在实际编程中非要用转义符加八进制数来表示一个字符,所以,6.2.4小节的内容,大家仅仅了解就行。 6.2.5 十六进制数转换成十进制数 2进制,用两个阿拉伯数字:0、1; 8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7; 10进制,用十个阿拉伯数字:0到9; 16进制,用十六个阿拉伯数字……等等,阿拉伯人或说是印度人,只发明了10个数字啊。 16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。 十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方…… 所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方。 假设有一个十六进数 2AF5, 那么如何换算成10进制呢。 用竖式计算: 2AF5换算成10进制: 第0位: 5 * 16^0 = 5 第1位: F * 16^1 = 240 第2位: A * 16^2 = 2560 第3位: 2 * 16^3 = 8192 + ------------------------------------- 10997 直接计算就是: 5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997 (别忘了,在上面的计算中,A表示10,而F表示15) 现在可以看出,所有进制换算成10进制,关键在于各自的权值不同。 假设有人问你,十进数 1234 为什么是 一千二百三十四。你尽可以给他这么一个算式: 1234 = 1 * 10^3 + 2 * 10^2 + 3 * 10^1 + 4 * 10^0 6.2.6 十六进制数的表达方法 如果不使用特殊的书写形式,16进制数也会和10进制相混。随便一个数:9876,就看不出它是16进制或10进制。 C,C++规定,16进制数必须以 0x开头。比如 0x1表示一个16进制数。而1则表示一个十进制。另外如:0xff,0xFF,0X102A,等等。其中的x也也不区分大小写。(注意:0x中的0是数字0,而不是字母O) 以下是一些用法示例: int a = 0x100F; int b = 0x70 + a; 至此,我们学完了所有进制:10进制,8进制,16进制数的表达方式。最后一点很重要,C/C++中,10进制数有正负之分,比如12表示正12,而-12表示负12,;但8进制和16进制只能用达无符号的正整数,如果你在代码中里:-078,或者写:-0xF2,C,C++并不把它当成一个负数。 6.2.7 十六进制数在转义符中的使用 转义符也可以接一个16进制数来表示一个字符。如在6.2.4小节中说的 '?' 字符,可以有以下表达方式: '?' //直接输入字符 '\77' //用八进制,此时可以省略开头的0 '\0x3F' //用十六进制 同样,这一小节只用于了解。除了空字符用八进制数 '\0' 表示以外,我们很少用后两种方法表示一个字符。 6.3 十进制数转换到二、八、十六进制数 6.3.1 10进制数转换为2进制数 给你一个十进制,比如:6,如果将它转换成二进制数呢。 10进制数转换成二进制数,这是一个连续除2的过程: 把要转换的数,除以2,得到商和余数, 将商继续除以2,直到商为0。最后将所有余数倒序排列,得到数就是转换结果。 听起来有些糊涂。我们结合例子来说明。比如要转换6为二进制数。 “把要转换的数,除以2,得到商和余数”。 那么: 要转换的数是6, 6 ÷ 2,得到商是3,余数是0。 (不要告诉我你不会计算6÷3。) “将商继续除以2,直到商为0……” 现在商是3,还不是0,所以继续除以2。 那就: 3 ÷ 2, 得到商是1,余数是1。 “将商继续除以2,直到商为0……” 现在商是1,还不是0,所以继续除以2。 那就: 1 ÷ 2, 得到商是0,余数是1 (拿笔纸算一下,1÷2是不是商0余1!) “将商继续除以2,直到商为0……最后将所有余数倒序排列” 好极。现在商已经是0。 我们三次计算依次得到余数分别是:0、1、1,将所有余数倒序排列,那就是:110了。 6转换成二进制,结果是110。 把上面的一段改成用表格来表示,则为: 被除数 计算过程 商 余数 6 6/2 3 0 3 3/2 1 1 1 1/2 0 1 (在计算机中,÷用 / 来表示) 如果是在考试时,我们要画这样表还是有点费时间,所更常见的换算过程是使用下图的连除: (图:1) 请大家对照图,表,及文字说明,并且自已拿笔计算一遍如何将6转换为二进制数。 说了半天,我们的转换结果对吗。二进制数110是6吗。你已经学会如何将二进制数转换成10进制数了,所以请现在就计算一下110换成10进制是否就是6。 6.3.2 10进制数转换为8、16进制数 非常开心,10进制数转换成8进制的方法,和转换为2进制的方法类似,惟一变化:除数由2变成8。 来看一个例子,如何将十进制数120转换成八进制数。 用表格表示: 被除数 计算过程 商 余数 120 120/8 15 0 15 15/8 1 7 1 1/8 0 1 120转换为8进制,结果为:170。 非常非常开心,10进制数转换成16进制的方法,和转换为2进制的方法类似,惟一变化:除数由2变成16。 同样是120,转换成16进制则为: 被除数 计算过程 商 余数 120 120/16 7 8 7 7/16 0 7 120转换为16进制,结果为:78。 请拿笔纸,采用(图:1)的形式,演算上面两个表的过程。 6.4 二、十六进制数互相转换 二进制和十六进制的互相转换比较重要。不过这二者的转换却不用计算,每个C,C++程序员都能做到看见二进制数,直接就能转换为十六进制数,反之亦然。 我们也一样,只要学完这一小节,就能做到。 首先我们来看一个二进制数:1111,它是多少呢。 你可能还要这样计算:1 * 2^0 + 1 * 2^1 + 1 * 2^2 + 1 * 2^3 = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 = 15。 然而,由于1111才4位,所以我们必须直接记住它每一位的权值,并且是从高位往低位记,:8、4、2、1。即,最高位的权值为23 = 8,然后依次是 22 = 4,21=2, 20 = 1。 记住8421,对于任意一个4位的二进制数,我们都可以很快算出它对应的10进制值。 下面列出四位二进制数 xxxx 所有可能的值(中间略过部分) 仅4位的2进制数 快速计算方法 十进制值 十六进值 1111 = 8 + 4 + 2 + 1 = 15 F 1110 = 8 + 4 + 2 + 0 = 14 E 1101 = 8 + 4 + 0 + 1 = 13 D 1100 = 8 + 4 + 0 + 0 = 12 C 1011 = 8 + 4 + 0 + 1 = 11 B 1010 = 8 + 0 + 2 + 0 = 10 A 1001 = 8 + 0 + 0 + 1 = 10 9 .... 0001 = 0 + 0 + 0 + 1 = 1 1 0000 = 0 + 0 + 0 + 0 = 0 0 二进制数要转换为十六进制,就是以4位一段,分别转换为十六进制。 如(上行为二制数,下面为对应的十六进制): 1111 1101 , 1010 0101 , 1001 1011 F D , A 5 , 9 B 反过来,当我们看到 FD时,如何迅速将它转换为二进制数呢。 先转换F: 看到F,我们需知道它是15(可能你还不熟悉A~F这五个数),然后15如何用8421凑呢。应该是8 + 4 + 2 + 1,所以四位全为1 :1111。 接着转换 D: 看到D,知道它是13,13如何用8421凑呢。应该是:8 + 2 + 1,即:1011。 所以,FD转换为二进制数,为: 1111 1011 由于十六进制转换成二进制相当直接,所以,我们需要将一个十进制数转换成2进制数时,也可以先转换成16进制,然后再转换成2进制。 比如,十进制数 1234转换成二制数,如果要一直除以2,直接得到2进制数,需要计算较多次数。所以我们可以先除以16,得到16进制数: 被除数 计算过程 商 余数 1234 1234/16 77 2 77 77/16 4 13 (D) 4 4/16 0 4 结果16进制为: 0x4D2 然后我们可直接写出0x4D2的二进制形式: 0100 1011 0010。 其中对映关系为: 0100 -- 4 1011 -- D 0010 -- 2 同样,如果一个二进制数很长,我们需要将它转换成10进制数时,除了前面学过的方法是,我们还可以先将这个二进制转换成16进制,然后再转换为10进制。 下面举例一个int类型的二进制数: 01101101 11100101 10101111 00011011 我们按四位一组转换为16进制: 6D E5 AF 1B 6.5 原码、反码、补码 结束了各种进制的转换,我们来谈谈另一个话题:原码、反码、补码。 我们已经知道计算机中,所有数据最终都是使用二进制数表达。 我们也已经学会如何将一个10进制数如何转换为二进制数。 不过,我们仍然没有学习一个负数如何用二进制表达。 比如,假设有一 int 类型的数,值为5,那么,我们知道它在计算机中表示为: 00000000 00000000 00000000 00000101 5转换成二制是101,不过int类型的数占用4字节(32位),所以前面填了一堆0。 现在想知道,-5在计算机中如何表示。 在计算机中,负数以其正值的补码形式表达。 什么叫补码呢。这得从原码,反码说起。 原码:一个整数,按照绝对值大小转换成的二进制数,称为原码。 比如00000000 00000000 00000000 00000101 是 5的 原码。 反码:将二进制数按位取反,所得的新二进制数称为原二进制数的反码。 取反操作指:原为1,得0;原为0,得1。(1变0; 0变1) 比如:将00000000 00000000 00000000 00000101每一位取反,得11111111 11111111 11111111 11111010。 称:11111111 11111111 11111111 11111010 是 00000000 00000000 00000000 00000101 的反码。 反码是相互的,所以也可称: 11111111 11111111 11111111 11111010 和 00000000 00000000 00000000 00000101 互为反码。 补码:反码加1称为补码。 也就是说,要得到一个数的补码,先得到反码,然后将反码加上1,所得数称为补码。 比如:00000000 00000000 00000000 00000101 的反码是:11111111 11111111 11111111 11111010。 那么,补码为: 11111111 11111111 11111111 11111010 + 1 = 11111111 11111111 11111111 11111011 所以,-5 在计算机中表达为:11111111 11111111 11111111 11111011。转换为十六进制:0xFFFFFFFB。 再举一例,我们来看整数-1在计算机中如何表示。 假设这也是一个int类型,那么: 1、先取1的原码:00000000 00000000 00000000 00000001 2、得反码: 11111111 11111111 11111111 11111110 3、得补码: 11111111 11111111 11111111 11111111 可见,-1在计算机里用二进制表达就是全1。16进制为:0xFFFFFF。 一切都是纸上说的……说-1在计算机里表达为0xFFFFFF,我能不能亲眼看一看呢。当然可以。利用C++ Builder的调试功能,我们可以看到每个变量的16进制值。

祁同伟 2019-12-02 01:28:37 0 浏览量 回答数 0

回答

首先把十六进制数04271544中的每一位数转换为二进制数,每个数要分四位,不足四位的前面加零,请看下面演示: 0 0000 4 0100 2 0010 7 0111 1 0001 5 0101 4 0100 4 0100 将得出四位二进制数串连起来就是结果了 所以,十六进制04271544转换二进制为 100001001110001010101000100 (前面的0就省了) 十六进制0209FE83转换二进制为 1000001001111111101000 0 0000 2 0010 0 0000 9 1001 F 1111 E 1110 8 1000 3 0011 还是不明白的话,看下面的对照表 十六进制 二进制 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 其中ABCDE对应十进制中的10,11,12,13,14,15 16的话就要进位,所以只到F,没有G,更没有H...

寒凝雪 2019-12-02 01:29:14 0 浏览量 回答数 0

回答

二进制、十进制、十六进制之间转换方法如下: 1.按(DEC)可切换至十进制模式;按(HEX)可切换至十六进制模式;按(BIN)可切换至二进制模式;按In(OCT)可切换到八进制; 2.或者在在数值后输入特定的命令,指定该数值的进制,d代表十进制,h代表十六进制,b代表二进制,o代表八进制; 3.十进制转二进制:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止; 4.二进制转十进制:把二进制数按权展开、相加即得十进制数。 5.二进制转八进制:3位二进制数按权展开相加得到1位八进制数。(注意事项,3位二进制转成八进制是从右到左开始转换,不足时补0)。 卡西欧(CASIO)计算器包括日常商务,语音机系列,函数科学,图形编程,函数工程,金融理财等系列产品,提供丰富的产品信息,有产品搜索,产品对比,品牌概念&技术等多种内容。

liujae 2019-12-02 01:29:12 0 浏览量 回答数 0

问题

编码和解码十六进制数

哦哦喔 2020-04-17 13:21:59 0 浏览量 回答数 1

问题

请计算十进制数46.5的二进制,八进制,十六进制。求过程、谢谢

知与谁同 2019-12-01 20:18:39 339 浏览量 回答数 1

回答

首先我们来看一个二进制数:1111,它是多少呢。你可能还要这样计算:1 * 20 + 1 * 21 + 1 * 22 + 1 * 23 = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 = 15。然而,由于1111才4位,所以我们必须直接记住它每一位的权值,并且是从高位往低位记,:8、4、2、1。即,最高位的权值为23 = 8,然后依次是 22 = 4,21=2, 20 = 1。 记住8421,对于任意一个4位的二进制数,我们都可以很快算出它对应的10进制值。 下面列出四位二进制数 xxxx 所有可能的值(中间略过部分) 仅4位的2进制数 快速计算方法 十进制值 十六进值1111 = 8 + 4 + 2 + 1 = 15 F1110 = 8 + 4 + 2 + 0 = 14 E1101 = 8 + 4 + 0 + 1 = 13 D 1100 = 8 + 4 + 0 + 0 = 12 C 1011 = 8 + 4 + 0 + 1 = 11 B 1010 = 8 + 0 + 2 + 0 = 10 A1001 = 8 + 0 + 0 + 1 = 10 9....0001 = 0 + 0 + 0 + 1 = 1 10000 = 0 + 0 + 0 + 0 = 0 0 二进制数要转换为十六进制,就是以4位一段,分别转换为十六进制。如(上行为二制数,下面为对应的十六进制): 1111 1101 , 1010 0101 , 1001 1011 F D , A 5 , 9 B  反过来,当我们看到 FD时,如何迅速将它转换为二进制数呢。先转换F:看到F,我们需知道它是15(可能你还不熟悉A~F这五个数),然后15如何用8421凑呢。应该是8 + 4 + 2 + 1,所以四位全为1 :1111。接着转换 D:看到D,知道它是13,13如何用8421凑呢。应该是:8 + 2 + 1,即:1011。所以,FD转换为二进制数,为: 1111 1011 由于十六进制转换成二进制相当直接,所以,我们需要将一个十进制数转换成2进制数时,也可以先转换成16进制,然后再转换成2进制。比如,十进制数 1234转换成二制数,如果要一直除以2,直接得到2进制数,需要计算较多次数。所以我们可以先除以16,得到16进制数:被除数计算过程商余数12341234/167727777/16413 (D)44/1604 结果16进制为: 0x4D2 然后我们可直接写出0x4D2的二进制形式: 0100 1011 0010。其中对映关系为:0100 -- 41011 -- D0010 -- 2 同样,如果一个二进制数很长,我们需要将它转换成10进制数时,除了前面学过的方法是,我们还可以先将这个二进制转换成16进制,然后再转换为10进制。下面举例一个int类型的二进制数:01101101 11100101 10101111 00011011我们按四位一组转换为16进制: 6D E5 AF 1B

祁同伟 2019-12-02 01:29:08 0 浏览量 回答数 0

问题

十六进制字符串到python中的字节数组

保持可爱mmm 2020-02-07 01:02:56 0 浏览量 回答数 1

回答

(10010011.1001)2=(223.44)8=(93.9)16=(128.5625)10 二进制转八进制:从小数点位置开始,整数部分向左,小数部分向右,每三位二进制为一组用一位八进制的数字来表示,不足三位的用0补足: 二进制转十六进制:从小数点位置开始,整数部分向左,小数部分向右,每四位二进制为一组用一位十六进制的数字来表示; 二进制数、八进制数、十六进制数的各位数字分别乖以各自的基数的(N-1)次方,其和相加之和便是相应的十进制数。至于小数部分,用“按权展开求和”,如上面的的小数部分为: 1*2^(-1)+0*2^(-2)+0*2^(-3)+1*2^(-4);

青衫无名 2019-12-02 01:29:19 0 浏览量 回答数 0

问题

将十六进制数42分别转换为二进制数 计算题

知与谁同 2019-12-01 20:18:40 641 浏览量 回答数 2

问题

3、计算十六进制数357D对应的二进制数是多少?

知与谁同 2019-12-01 20:18:37 377 浏览量 回答数 1

回答

你以十进制的数除以你所要转换的进制数,把每次除得的余数记在旁边,所得的商数继续除以进制数,直到余数为0时止.例如你要把100转换成八进制: 100/8=12...(余数为4); 12/8=1.....(余数为4); 1/8=0......(余数为1); 然后把相应的余数从低向高顺着写出来,如上的为144,此即为100的八进制表示形式. 十进制转换为十六进制与二进制与前面的转化为八进制相同,如100转换为十六进制: 100/16=6....(余数为4); 6/16=0......(余数为6); 同理则以十六进制表示的100形式为64; 100转换为二进制: 100/2=50....(余数为0); 50/2=25.....(余数为0); 25/2=12.....(余数为1); 12/2=6......(余数为0); 6/2=3.......(余数为0); 3/2=1.......(余数为1); 1/2=0.......(余数为1); 所以100的二进制表示形式为1100100; 要换回来就反着算!-------------------------用十除以二、四、八、十六,再用要转换的数字乘以商就可以了

游客886 2019-12-02 01:27:39 0 浏览量 回答数 0

回答

十六 十 八 二 计算机内部是以二进制形式表示数据和进行运算的;计算机内的地址等信号常用十六进制来表示,而人们日常又习惯用十进制来表示数据。这样要表示一个数据就要选择一个适当的数字符号来规定其组合规律,也就是要确定所选用的进位计数制。各种进位制都有一个基本特征数,称为进位制的“基数”。基数表示了进位制所具有的数字符号的个数及进位的规律。下面就以常用的十进制、二进制、八进制和十六进制为例,分别进行叙述。 一、常用的三种计数制 1、十进制(Decimal) 十进制的基数是10,它有10个不同的数字符号,即0、1、2、3、…、9。它的计数规律是“逢十进一”或“借一当十”。处在不同位置的数字符号具有不同的意义,或者说有着不同的“权”。所谓的“权”就是每一位对其基数具有不同的倍数。例如,一个十进制数为 123.45=1*102+2*101+3*100+4*10-1+5*10-2 等号左边为并列表示法,等号右边为多项式表示法,显然这两种表示法表示的数是等价的。在右边多项式表示法中,1、2、3、4、5被称为系数项,而102、101、100、10-1、10-2等被称为该位的“权”。 一般来说,任何一个十进制数”都可以采用并列表不法表不如下: N10=dn-1d n-2…d1d0. d-1d-2…d-m 其中,下标n表示整数部分的位数,下标m表示小数部分的位数,d是0~9中的某一个数,即di∈(0,1,…,9)。同样,任意一个十进制数N都可以用多项式表示法表示如下: N10=dn-1*10n-1+…+d1*101+d0*100+d-1*10-1+…+d-m*10m 其中,m、n为正整数,di 表示第i位的系数,10i 称为该位的权。所以某一位数的大小是由各系数项和其权值的乘积所决定的。 2、二进制(Binary) 二进制的基数是2,它只有两个数字符号,即0和1。计算规律是“逢二进一”或“借一当二”。例如: (101.01)2=1*23+1*22+0*21+1*20+0*2-1+1*2-2 任何一个二进制数N都可以用其多项式来表示: N2=dn-1*2n-1+dn-2*2n-2+…+d1*21+d0*20+d-1*2-1+d-2*2-2+…+d-m*2-m 式中任何一位数值的大小都可以用该位的系数项 di 和权值 2i 的积来确定。 3、十六进制(Hexadecimal) 十六进制的基数为16,它有16个数字符号、即0~9、A~F。其中 A、B、C、D、E、F 分别代表十进制数的10、11、12、13、14、15。各位之间“逢十六进一”或者“借一当十六”。各位的权值为 16i。例如: (2C7.1F)16=2*162+12*161+7*160+1*16-1+15*16-2 二、3种计数制之间的相互转换 对于同一个数,可以采用不同的计数制来表示,其形式也不同。如: (11)10=(1011)2=(B)16 1、R 进制转换成十进制的方法 具体的方法是先将其并列形式的数写成其多项式表示形式,然后,经计算后就可得到其十进制的结果。这种方法披称为按权展开法。对于一个任意的R进制数N都可以写成如下形式: N = dn-1 dn-2…d1 d0d-1d-2…d-m = dn-1*Rn-1+…+d1*R1+d0*R0+d-1*R-1+…+d-m*R-m 其中,R 为进位基数,Ri 是对应位的权值,di 为系数项,特此式求和计算之后,即可以完成 R 进制数对十进制数的转换。 例如,写出(1101.01)2、(10D)16的十进制数。 (1101.01)2=1*23+1*22+0*21+1*20+0*2-1+0*2-2 =8+4+1+0.25 =13.25 (10D)16=1*162+0*161+13*160 = 256+13 = 269 2、十进制转换成二进触方法 十进制数转换成二进制数一般分为两个步骤,即整数部分的转换和小数部分的转换。 (1)整数部分的转换 除2取余法:这种方法是由于 D10=N2=dn-1*2n-1+dn-2*2n-2+…d1*21+d0*20,所以具体方法是把给定的十进制整数除以2,取其余数作为二进制整数最低位的系数 do,然后继续将整数部分除以2,所得余数作为二进制整数次低位的系数 d1,一直重复下去,最后可以得到二进制整数部分。 例如,将(327)10转换成二进制数。 327 余数 各项系数 除以2= 163 ... 1 d0 ... 81 ... 1 d1 ... 40 ... 1 d2 ... 20 ... 0 d3 ... 10 ... 0 d4 ... 5 ... 0 d5 ... 2 ... 1 d6 ... 1 ... 0 d7 ... 0 ... 1 d8 所以,(327)10=d8 d7 d6 d5 d4 d3 d2d1 d0=(101000111)2。 此方法可扩展为陈 R 取余法。如将 R 设为16,则可将十进制整数转变为十六进制整数。 减权定位法:因为 D10=N2=dn-1*2n-1+dn-2*2n-2+…d1*21+d0*20,所以二进制多项式中的每一项都有自己的权值。若该项系数值为 di=0,则该项值为0,否则 di 应为1。根据这一对应关系,可提出减权定位的转换方法:将十进制数依次从二进制高位权值进行比较:若够减则对应位 di=1,减去该位权值后再往下比较;若不够减则对应值 di=0,越过该位与低一位的权值比较,如此进行直到余数为0为止。 例如,将(327)10转换成二进制数。因为512(29)> 327 > 256(28),所以从权值256对应值开始比较。 减权比较 di 位权 327-256=71 1 28 71<128 0 27 71-64=7 1 26 7<32 0 25 7<16 0 24 7<8 0 23 7-4=3 、 22 3-2=1 1 21 1-1=0 1 20 所以,(327)10=(101000111)2。 (2)小数部分的转换 转换的方法是采用乘2取整数表示法。由于 D10=d-1*2-1+d-2*2-2+…d-m*2-m,所以具体方法是把给定的十进制小数乘以2,取其整数部分作为二进制小数的小数点后的第一位系数;然后再将乘积的小数部分继续乘以2,取所得积的整数部分作为小数后的第二位系数;依次重复做下去,就可以得到二进制小数部分。 例如,将(0.8125) 10。转换成二进制小数。 整数部分 系数部分 2*0.8125=1.625 1 d-1=1 2*0.625=1.25 1 d-2=1 2*0.25=0.5 0 d-3=0 2*0.5=1.0 1 d-4=1 所以,(0.8125)10=d0 d-1 d-2 d-3 d-4=(0.1101)2。 在计算中可以按照所需的小数点位数,取其结果位近似值。 此方法可以扩展为乘R取整法.如将R变为16,则可将十进制小数部分直接变为十六进制小数。 3、二进制与十六进制的转换 (1)二进制转换成十六进制 4位二进制数的所有组合可表示十六进制数的16个代码,它们之间的对应关系如下: 二进制 0000 0001 0010 0011 0100 0101 0110 0111 十六进制 0 1 2 3 4 5 6 7 二进制 1000 1001 1010 1011 1100 1101 1110 1111 十六进制 8 9 A B C D E F 进制转换的具体方法:从小数点开始,分别向左、向右,每4位二进制数为一组用十六进制数值来书写。若小数点左侧位数不是4的倍数,则最左侧用0补充;若小数点右侧位数不是4的倍数,则最右侧用0补充。 例如,(110110111.01101)2=(0001 1011 0111.0110 1000)2 =(1B7.68)16。 (2)十六进制转换成二进制 具体的转换方法是:将每个十六进制数用4位二进制数来书写,转化后最左侧或者最右侧的0在书写的时候可以省去。例如: (7AC.DE)16=(111 1010 1100.1101 111)2 例1:把(5/16)10转换成二进制数。 解:5/16=5×2-4=(101 2*(0.0001)2=(0.0101)2 小数点向左移4位等于乘以2-4。 例2:把(19.125) 10转换成二进制数、十六进制数。 解:首先把整数部分(19)10转换成二进制数: (19)10=16+2+1=24+21+20=(10011)2 再把小数部分(0.125)10转换成二进制数: 0.125*2=0.25 0 0.25*2=0.5 0 0.5*2=1 1 所以,(0.125)10=(0.001) 2。 把整数与小数部分合起来结果为 (19.125)10=(10011.001)2=(13.2)16

liujae 2019-12-02 01:28:37 0 浏览量 回答数 0

回答

1、二进制的加法法则: 二进制的基数是2,进位规则是“逢2进1”故加法运算法则为: (1)0+0=0 (2)0+1=1 1+0=1 (3)1+1=10(本位的0向高位进1) 2、二进制的乘法法则: (1)0x0=0 (2)1x0=0,0x1=0 (3)1x1=1-------------------------二进制乘法和加法都是通过对二进制数的移位来实现的,移位相当于×2,计算机算根据给出的加法式子与乘法式子算要移多少位。 扩展: 1、二进制数据的表示法   二进制数据也是采用位置计数法,其位权是以2为底的幂。例如二进制数据110.11,其权的大小顺序为2^2、2^1、2^0、2^-1、2^-2。对于有n位整数,m位小数的二进制数据用加权系数展开式表示,可写为:   (a(n-1)a(n-2)…a(-m))2=a(n-1)×2^(n-1)+a(n-2)×2^(n-2)+……+a(1)×2^1+a(0)×2^0+a(-1)×2^(-1)+a(-2)×2^(-2)+……+a(-m)×2^(-m)   二进制数据一般可写为:(a(n-1)a(n-2)…a(1)a(0).a(-1)a(-2)…a(-m))2。   注意:   1.式中aj表示第j位的系数,它为0和1中的某一个数。   2.a(n-1)中的(n-1)为下标,输入法无法打出所以用括号括住,避免混淆。   3.2^2表示2的平方,以此类推。   【例1102】将二进制数据111.01写成加权系数的形式。   解:(111.01)2=(1×2^2)+(1×2^1)+(1×2^0)+(0×2^-1)+(1×2^-2)   二进制和十六进制,八进制一样,都以二的幂来进位的。   二进制数据的算术运算的基本规律和十进制数的运算十分相似。最常用的是加法运算和乘法运算。   1. 二进制加法   有四种情况: 0+0=0   0+1=1   1+0=1   1+1=10 进位为1   【例1103】求 (1101)2+(1011)2 的和   解:   1 1 0 1   + 1 0 1 1   -------------------   1 1 0 0 0   2. 二进制乘法   有四种情况: 0×0=0   1×0=0   0×1=0   1×1=1   【例1104】求 (1110)2 乘(101)2 之积   解:   1 1 1 0   ×  1 0 1   -----------------------    1 1 1 0    0 0 0 0   1 1 1 0   -------------------------   1 0 0 0 1 1 0   (这些计算就跟十进制的加或者乘法相同,只是进位的数不一样而已,十进制的是到十才进位这里是到2就进了)   3.二进制减法   0-0=0,1-0=1,1-1=0,10-1=1。   4.二进制除法   0÷1=0,1÷1=1。[1][2]   5.二进制拈加法   拈加法二进制加减乘除外的一种特殊算法。   拈加法运算与进行加法类似,但不需要做进位。此算法在博弈论(Game Theory)中被广泛利用。   十进制数转换为二进制数、八进制数、十六进制数的方法:   二进制数、八进制数、十六进制数转换为十进制数的方法:按权展开求和法   1.二进制与十进制间的相互转换:   (1)二进制转十进制   方法:“按权展开求和”   例: (1011.01)2 =(1×2^3+0×2^2+1×2^1+1×2^0+0×2^(-1)+1×2^(-2) )10   =(8+0+2+1+0+0.25)10   =(11.25)10   规律:个位上的数字的次数是0,十位上的数字的次数是1,......,依奖递增,而十   分位的数字的次数是-1,百分位上数字的次数是-2,......,依次递减。   注意:不是任何一个十进制小数都能转换成有限位的二进制数。   (2)十进制转二进制   · 十进制整数转二进制数:“除以2取余,逆序排列”(除二取余法)   例: (89)10 =(1011001)2   2 89 ……1   2 44 ……0   2 22 ……0   2 11 ……1   2 5 ……1   2 2 ……0   1   · 十进制小数转二进制数:“乘以2取整,顺序排列”(乘2取整法)   例: (0.625)10= (0.101)2   0.625X2=1.25 ……1   0.25 X2=0.50 ……0   0.50 X2=1.00 ……1   2.八进制与二进制的转换:   二进制数转换成八进制数:从小数点开始,整数部分向左、小数部分向右,每3位为一组用一位八进制数的数字表示,不足3位的要用“0”补足3位,就得到一个八进制数。   八进制数转换成二进制数:把每一个八进制数转换成3位的二进制数,就得到一个二进制数。   八进制数字与二进制数字对应关系如下:   000 -> 0 100 -> 4   001 -> 1 101 -> 5   010 -> 2 110 -> 6   011 -> 3 111 -> 7   例:将八进制的37.416转换成二进制数:   3 7 . 4 1 6   011 111 .100 001 110   即:(37.416)8 =(11111.10000111)2   例:将二进制的10110.0011 转换成八进制:   0 1 0 1 1 0 . 0 0 1 1 0 0   2 6 . 1 4   即:(10110.011)2 = (26.14)8   3.十六进制与二进制的转换:   二进制数转换成十六进制数:从小数点开始,整数部分向左、小数部分向右,每4位为一组用一位十六进制数的数字表示,不足4位的要用“0”补足4位,就得到一个十六进制数。   十六进制数转换成二进制数:把每一个十六进制数转换成4位的二进制数,就得到一个二进制数。   十六进制数字与二进制数字的对应关系如下:   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   例:将十六进制数5DF.9 转换成二进制:   5 D F . 9   0101 1101 1111 .1001   即:(5DF.9)16 =(10111011111.1001)2   例:将二进制数1100001.111 转换成十六进制:   0110 0001 . 1110   6 1 . E   即:(1100001.111)2 =(61.E)16-------------------------1. 二进制加法 有四种情况: 0+0=0 0+1=1 1+0=1 1+1=0 进位为1 【例1103】求 (1101)2+(1011)2 的和 解: 1 1 0 1 + 1 0 1 1 1 1 0 0 0 2. 二进制乘法 有四种情况: 0×0=0 1×0=0 0×1=0 1×1=1 【例1104】求 (1110)2 乘(101)2 之积 解: 1 1 1 0 × 1 0 1 1 1 1 0 0 0 0 0 1 1 1 0 1 0 0 0 1 1 0

游客886 2019-12-02 01:28:26 0 浏览量 回答数 0

问题

请教各位朋友PHP 如何将数据库中存储的十六进制数转换为汉字?

落地花开啦 2019-12-01 19:56:40 835 浏览量 回答数 1

问题

十六进制fd换为二进制的数是多少,换位十进制是多少,怎么算?

知与谁同 2019-12-01 20:18:47 381 浏览量 回答数 2

问题

如何将字节数组转换为十六进制字符串,反之亦然?

保持可爱mmm 2020-01-08 17:04:32 0 浏览量 回答数 1
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站