1用二进制数表示计算机信息的原因
计算机内部是由IC"这种电子部件构成的有的有数个乃至数百个引脚; 有的则像插花用的针盘,引脚在IC内部并排排列着。 IC的所有引脚,只有直流电压0V或5V两个状态。所以IC的一个引脚, 只能表示两个状态。IC的这个特性,决定了计算机的信息数据只能用二进制数来处理。
2什么是二进制数
二进制数的值转换成十进制数的值, 只需将二进制数的各数位的值和位权相乘,然后将相乘的结果相加即可,首先位权的含义,例如, 十进制数39的各个数位的数值,并不只是简单的3和9, 这点大家应该都知道。3表示的是3x10=30,9表示的是9x1=9。 这里和各个数位的数值相乘的10和1,就是位权。数字的位数不同,位权也不同。 第1位(最右边的一位)是10的0次幂(=1),第2位是10的1次幂(=10),第3位是10的2次幂(=100),依此类推。 位权的思考方式也同样适用于二进制数,接下来, 让我们来解释一下各数位的数值和位权相乘后 “相加”这个处理的原因。其实大家所说的数值, 表示的就是构成数值的各数位的数值和位权相乘后再相加的结果。例如 39这个十进制数,表示的就是30+9,即各数位的数值和位权相乘后再相加的数值。这种思考方式在二进制数中也是通用的。二进制数 00100111用十进制数表示的话是39,因为(0x128)+(0x64) +(1x32)+(0x16)+(0x8)+(1x4)+(1x2)+(1x1)=39。
3 移位运算和乘除运算的关系
移位运算指的是将二进制数值的各数位进行左右移位的运算。 移位有左移(向高位方向)和右移(向低位方向)两种。在一次运算中, 可以进行多个数位的移位操作。左移后空出来的低位,空出来的低位要进行补0操作。不过,这一规则只适用于左移运算。 至于右移时空出来的高位还没说,此外, 移位操作使最高位或最低位溢出的数字,直接丢弃就可以了。移位运算也可以通过数位移动来代替乘法运算和除法运算。例如,将00100111左移两位的结果是10011100,左移两位后数值变成了原来的4倍。用十进制数表示的话,数值从39(00100111)变成了156(10011100),也正好是4倍(39x4=156)。其实,反复思考几遍后就会发现确实如此。十进制数左移后会变成原来的10倍、100倍、1000倍·同样,二进制数左移后就会变成原来的2倍、4倍、8倍反之,二进制数右移后则会变成原来的1/2.1/4、1/8。