1 数据概述
百度给我们的定义是数据就是数值,也就是我们通过观察、实验或计算得出的结果。数据有很多种,最简单的就是数字。数据也可以是文字、图像、声音等。对一个程序员而言,编程就是和数据在打交道,所以我们有必要了解数据在计算机中的存储过程.我们现在使用的计算机都是基于冯.诺依曼计算机体系的,所以数据在计算机底层存储都是按照二进制,也就是0和1存储的,而我们日常生活中使用的都是十进制,因此数据是需要进行一系列转换才能被正确的存储到计算机中.
2 进制
想要理解计算机中数据的存储,那就必须明白进制问题:
2.1进制的概念
进制其实就是进位制,是人们规定的一种进位的方法,对于任何一种X进制来说,都是逢X进一位,比如十进制就是逢十进一,二进制当然就是逢二进一.
2.1.1 进制和权值
在这里就不得不说一下权值,权值指加权平均数中的每个数的频数,也称为权数或权重,是在不同位置的数符所代表的值不同,这样说可能大家不理解,下面举一个例子,一目了然:
例如:十进制1234.56可表示为
1234.56=1×10^3+2×10^2+3×10^1+4×10^0+5×10^(-1)+6×10^(-2),小括号里面的就是权值
2.1.2 为什么计算机使用二进制
说通了进制和权值,我们要知道为什么计算机使用二进制,其实计算机的二进制是由于它的实现机理决定的,计算机是由集成电路组成,在计算机实际工作中,通过输出端电压的变化通过模拟转换成二进制,高电平由1表示,低电平由0表示,也就是说将模拟电路转换成了数字电路,使用二进制的优点是容易表示,运算规则简单,节省设备,技术实现简单.
当然计算机是二进制的,但对于我们编程人员来说,如果直接和二进制打交道,大家应该都会快疯了,比如一个4字节的int数据:11111111 11111111 10101010 01010101,这无疑对所有程序猿是一个噩梦,所以必须有一种更加简洁灵活的方式来呈现数据,如果刚才我们这个数据用八进制就可以这样表示:775775523252,如果用十六进制表示更简单:FEFF6A6AA,,这就是十六进制和八进制出现的原因;
2.1.3 进制之间的转换
比如:</