十进制,二进制,八进制,十六进制之间的转换,左右移运算符 

xiaoxiao2024-03-28  41

十进制,二进制,八进制,十六进制之间的转换,左右移运算符 

进制概念 1 十进制 十进制使用十个数字(0123456789)记数,基数为10,逢十进一。 历史上第一台电子数字计算机ENIAC是一台十进制机器,其数字以十进制表示,并以十进制形式运算。设计十进制机器比设计二进制机器复杂得多。而自然界具有两种稳定状态的组件普遍存在,如开关的开和关,电路的通和断,电压的高和低等,非常适合表示计算机中的数。设计过程简单,可靠性高。因此,现在改为二进制计算机。 2 二进制 二进制以2为基数,只用01两个数字表示数,逢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,基数值可以取012345678个值,逢八进一。 八进制与十进制运算规则一样。那么为什么要用八进制呢?难道要设计八进制的计算机么?实际上,八进制与十六进制的引用,主要是为了书写和表示方便,因为二进制表示位数比较长。如:(102410 用二进制表示为 100000000002,共有11个数字,用八进制表示为(20008。更重要的是,由于二进制与八进制存在在一种对等关系,每三位二进制与一位八进制数完全对等(23=8)。所以二进制和十进制在运算上无区别,而时进制不具备这一优点。 4 十六进制 十六进制应用也是非常广泛的一种计数制。在使用者看来,十六进制是二进制数的一种更加紧凑的一种表示方法。 基数为:0123456789ABCDEF,逢十进一。在十六进制系统中,数值为1015的数分别用ABCDEF表示。 二进制数及与之等值的八进制、十进制和十六进制数 二进制 八进制 十进制 十六进制 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.1012=1*22+0*21+1*20+1*2-1+0*2-2+1*2-3=5.62510 2)十进制转换为二进制 一般需要将十进制数的整数部分与小数部分分开处理。 整数部分计算方法:除2取余法 请看例题: 十进制数(5310的二进制值为(1101012 小数部分计算方法:乘2取整法,即每一步将十进制小数部分乘以2,所得积的小数点左边的数字(01)作为二进制表示法中的数字,第一次乘法所得的整数部分为最高位。请看例题: 将(0.512510转换成二进制。(0.512510=0.1012 2 八进制、十六进制与十六进制间的转换 八进制、十六进制与十六进制之间的转换方法与二进制,同十进制之间的转换方法类似。例如: 738=7*81+3=5910 0.568=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取余例如: 17110=2538 265310=A5D16 十进制小数→→→→→八进制小数 方法:8取整十进制小数→→→→→十六进制小数 方法:16取整例如: 07187510=0.568 (0.142578125)10=(0.3C8)16 3. 非十进制数之间的转换 1)二进制数与八进制数之间的转换 转换方法是:以小数点为界,分别向左右每三位二进制数合成一位八进制数,或每一位八进制数展成三位二进制数,不足三位者补0。例如: 423458=100 010 011.100 1012 1001001.11012=001 001 001.110 1002=111.648 2。二进制与十六进制转换 转换方法:以小数点为界,分别向左右每四位二进制合成一位十六进制数,或每一位十六进制数展成四位二进制数,不足四位者补0。例如: ABCDEF16=1010 1011 1100 1101.1110 11112 101101101001011.011012=0101 1011 0100 1011.0110 10002=5B4B6816

补码:

一个正数的补码和该数的原码(即该数的二进制形式)相同。

求一个负数的补码的方法是:将该数的绝对值的二进制形式,按位取反再加1。例如求-10的补码:

10的原码:0000000000001010

取反: 1111111111110101

再加1 1111111111110110

1111111111110110就是-10的补码了。

如果已知负数和补码求正数的补码:则反过来求就行了。

左移运算符(<<)a<<b,表示a的二进制向左移动b位;

右移运算符(>>)a>>b, 表示a的二进制向右移动b位。

转载请注明原文地址: https://www.6miu.com/read-5014584.html

最新回复(0)