整形数据
数值以补码形式表示的。
正整数的补码和该数的原码(即该数的二进制形式)相同。
负数的补码:该数的绝对值的二进制形式,按位取反再加1。 可知:在存放整数的存储单元中,最左面的一位是表示符号的,该位为0,表示数值为正;该位为1则表示数值为负(这句话限于本人的水平,本人感觉这是规定而不是由书上例子给出,如网友有不同见解可回帖交流);
浮点型数据
浮点型数据是按照指数形式存储的。
(系统把一个浮点型数据分成小数部分和指数部分,分别存放;指数部分采用规范化的指数形式)。
注意:
1.在4个字节(32位)中,用多少位来表示小数部分,多少位来表示指数部分,标准并无规定,由c语言编译系统自定。 不少c语言编译系统以24位来表示小数部分(包括符号),以8位表示指数部分(包括指数的符号)。 2.小数部分占的位(bit)数越多,数的有效数字越多,精度也就越高。指数部分占的位数越多,则能表示的数值范围越大.
字符型数据
在内存中,字符数据以ASCII码存储。
显然它的存储形式与整数的存储形式类似。这样使得字符型数据与整形数据之间可以通用。 一个字符型数据既可以以字符形式输出,也可以以整数形式输出。以字符形式输出时,需要先将存储单元中的ASCII码转换成相应字符,然后输出。以整数形式输出时,直接将ASCII码作为整数输出。也可以对字符数据进行算术运算,此时相当于它们的ASCII码进行算术运算。