说起数据,现在的高级语言类似C,C++,JAVA等,都离不开二进制、十进制等等转化的讲解,这章便是介绍数据的基础内容。
送入计算机的数字,字母,符号等信息必须转换成0、1组合的数据形式才能被计算机所识别,送入的数据分为数值数据和非数值数据。数值数据,顾名思义,就是能够进行算术运算得到明确数值概念的信息成为计算机数值数据,其余的均为非数值数据。
下面来介绍数值数据:
1.数值数据的表示:包括十进制、二进制、十六进制、八进制;
基数:是指该进位制中允许选用的基本数码的个数,如十进制数,基数为10,可选用0-9共10个不同数码中的任何一个;
八进制数,基数为8,可选用0-7共8个不同数码中的任何一个;二进制数,基数为2,可选用0,1共2个不同数码中的任何一个;
十六进制数,基数为16,可选用0-F共15个不同数码中的任何一个;
位权:位权的大小是以基数为底,数字所在位置的序号为指数的整数次幂。通俗的说,指的是每个基数上的指数;
如123=1*10@2+2*10@1+3*10@0(@为指数表示,打不出来啊!!)其中的2,1,0就是位权;
下面分别举例来说明:
二进制:基数为2的进位制称为二进制,一般前面加0b;1010=1*2@3+0*2@2+1*2@1+0*2@0 = 1*8+0*4+1*2+0*1=10;
十六进制:基数为16的进位制称为十六进制,一般在前面加0x符号;0x1010=1*16@3+0*16@2+1*16@1+0*16@0=1*4096+0*256+1*16+0*1=5012;
八进制:基数为8的进位制称为八进制,一般在前面加0符号;01010=1*8@3+0*8@2+1*8@1+0*8@0=512+0+8+0=520;
2.进制之间的转换:
十进制转二进制:十进制数作为被除数,除以2,直至商为0,然后将余数逆序排列,即为二进制转换所得;
如十进制数25
其他十六进制转十进制、八进制转十进制如同二进制一样,方法相同;
十六进制、八进制、二进制之间的转换更简单:十六进制对应四位二进制数,八进制数对应三位二进制数;如0xF568对应二进制为:F对应1111,5对应0101,6对应0110,8对应1000,所以转换为二进制数为1111010101101000;0725对应的二进制数为:7对应111,2对应002,5对应005,所以转换为二进制数为111002005;
3.非数值数据表示
非数值数据:包括文字、符号、图像、语言和逻辑信息等,也都是以0、1形式存在;
字符数据在机器内也被变换成二进制编码的形式。国际上普遍采用的一种编码是美国国家信息交换标准代码,简称为ASCII码。
字符数据通常对应的数据类型char、unsigned char型,ASCII表中同样占据256个数,正好为1个char类型的数据;