详解计算机内部存储数据的形式 二进制数(1)

详解计算机内部存储数据的形式—二进制数


前言


要想对程序的运行机制形成一个大致印象,就要了解信息(数据)在计算机内部是以怎样的形式来表现的,又是以怎样的方法进行运算的。在 C 和 Java 等高级语言编写的


程序中,数值、字符串和图像等信息在计算机内部都是以二进制数值的形式来表现的。也就是说,只要掌握了使用二进制数来表示信息的方法及其运算机制,也就自然能够了解程序的运行机制了。那么,为什么计算机处理的信息要用二进制数来表示呢?


一、用二进制数表示计算机信息的原因


计算机内部是由  IC(集成电路( Integrated Circuit) )这种电子部件构成的。 CPU( 微处理器) 和内存也是 IC 的一种。IC 有几种不同的形状,有的像一条黑色蜈蚣, 在其两侧有数个乃至数百个引脚; 有的则像插花用的针盘, 引脚在 IC 内部并排排列着。== IC 的所有引脚, 只有直流电压0V 或 5VB 两个状态==。 也就是说, IC 的一个引脚, 只能表示两个状态。IC 的这个特性, 决定了计算机的信息数据只能用二进制数来处理。


计算机处理信息的最小单位——位, 就相当于二进制中的一位。 位的英文 bit 是二进制数位( binary digit) 的缩写。


8 位二进制数被称为一个字节


位是最小单位,字节是==(信息的)基本单位==。


用字节单位处理数据时, 如果数字小于存储数据的字节数(二进制数的位数), 那么高位上就用 0 填补。 例如, 100111 这个 6 位二进制数, 用 8 位( =1 字节) 表示时为 00100111, 用 16 位( = 2 字节) 表示时为 0000000000100111。


二、什么是二进制数


二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”


二进制数的值转换成十进制数的值, 只需将二进制数的各数位的值和位权相乘,

然后将相乘的结果相加即可。例如00100111转为十进制数是39


详解计算机内部存储数据的形式 二进制数(1)


为什么这样计算呢?其实二进制和十进制的思想是一致的,比如十进制数39=(3 x 101) +(9 x 100),其中幂函数中10是基数, 这里和各个数位的数值相乘的 10 和


1, 就是位权。二进制和十进制计算方式就是基数不同而已。


三、移位运算和乘除运算的关系


移位运算指的是将二进制数值的各数位进行左右移位( shift = 移位) 的运算。 移位有左移( 向高位方向)和右移( 向低位方向) 两种。 在一次运算中, 可以进行多个数位的移位操作。


<< 这个运算符表示左移, 右移时使用 >> 运算符。 << 运算符和 >> 运算符的左侧是被移位的值, 右侧表示要移位的位数。


左移后空出来的低位要进行补0 操作


移位操作使最高位或最低位溢出的数字, 直接丢弃就可以了。例如十进制数 39 用 8 位的二进制表示是 00100111, 左移两位后是 10011100, 再转换成十进制数就是 156。  


详解计算机内部存储数据的形式 二进制数(1)


上一篇:[ExtJS5学习笔记]第五节 使用fontawesome给你的extjs5应用增加字体图标


下一篇:[ExtJS5学习笔记]第十七节 Extjs5的panel组件增加accodion成为折叠导航栏