您好,欢迎访问三七文档
第2讲数据的存储方法第一讲C语言概述•教学目的与要求:•了解C语言中的数据类型•掌握计算机中各进制的表示及相互转换和数据存储的方法•教学内容提要:1.计算机中数的表示和进制转换2.数据的存储3.数据类型•教学重点:计算机中各进制的表示及相互转换和数据存储的方法•教学难点:数据存储的方法•教学进度:P16~P19,P42~P44•教学过程:1、计算机中数的表示及进制转换1.1数码、基与权数码:表示数的符号基:数码的个数权:每一位所具有的值二进制:数码:0,1;基:2逢二进一八进制:数码:0,1,2,3,4,5,6,7;基:8逢八进一十进制:数码:0,1,2,3,4,5,6,7,8,9;基:10逢十进一十六进制:数码:0,1,3,4,5,6,7,8,9,A,B,C,D,E,F;基:16逢十六进一1.2数制1.3各种进制之间的转换1、二进制、八进制、十六进制转换成十进制方法:按权相加10590211212203214215212111011)()(例10940861832818136)()(例1079780161011622161531611621)()(例AF2、十进制转换成二进制、八进制、十六进制方法:连续除以基,从低到高记录余数,直至商为0例把十进制数459转换成十六进制数4591628161160(459)10=(1CB)161CB余11余12余1二进制转换成八进制:从右向左,每3位一组(不足3位左补0),转换成八进制八进制转换成二进制:用3位二进制数代替每一位八进制数例(1101001)2=(001,101,001)2=(151)8例(246)8=(010,100,110)2=(10100110)2000~0001~1010~2011~3100~4101~5110~6111~73、二进制与八进制之间的转换二进制转换成十六进制:从右向左,每4位一组(不足4位左补0),转换成十六进制十六进制转换成二进制:用4位二进制数代替每一位十六进制数例(11010101111101)2=(0011,0101,0111,1101)2=(357D)16例(4B9E)16=(0100,1011,1001,1110)2=(100101110011110)20000~00001~10010~20011~30100~40101~50110~60111~71000~81001~91010~A1011~B1100~C1101~D1110~E1111~F4、二进制与十六进制之间的转换2、数据的存储内存以字节为单元组成每个字节有一个地址一个字节一般由8个二进制位组成每个二进位的值是0或101234567012345678910……...76432512.1字节和位(1)存储单元由若干字节构成。若,一字节存放一个数据:例、00000110(一字节有八位二进制位构成)最高位最低位若,两字节存放一个数据:例、0000100000010001最高位最低位(2)表示有符号数时,最高位作为符号位0──正1──负例、正数:00100001负数:100000012.2数据的机器码表示1、机器码的表示机器码常用的有原码、反码、补码。真值:一般书写表示的数值,或者说机器所代表的实际值.机器数:表示一个数值数据的机内编码.一般采用补码形式。原码:最高位为符号位,其余各位为数值本身的绝对值反码:正数:反码与原码相同负数:符号位为1,其余位对原码取反补码:正数:原码、反码、补码相同负数:最高位为1,其余位为原码取反,再对整个数加1.原码反码补码+7000001110000011100000111-7100001111111100011111001+0000000000000000000000000-0100000001111111100000000数的范围01111111~11111111(-127~+127)01111111~10000000(-127~+127)01111111~10000000(-128~+127)负数补码转换成十进制数:最高位不动,其余位取反加1例补码:11111001取反:10000110加1:10000111=-7(用一字节表示数)1、有符号的的整数:整型数据在内存中存储时,一般以最高位表示数的符号(0表示正,1表示负),数值是以补码的形式存放。例:10的补码:0000000000001010-10的补码:11111111111101102、无符号的数:最高位不作为符号,而与右边各位一起用来表示数值。例:存储单元存放的数据有符号数无符号数000000000000101010101000000000000010-32766327702.3有符号的数与无符号的数2.4数值的定点形式与浮点表示形式1定点表示•小数点不占用二进制位,隐含在某固定位置上。隐含在数的最低位之后,称定点整数;隐含在符号位之后、数的最高位之前,称定点小数。•定点数表示范围受限。例、+11010100110101.符号尾数小数点+0.00100010000符号小数点尾数.2浮点表示•基本思想:把数的有效数字和数的表示范围分开表示阶符阶码尾符尾数表示范围有效数字(或有效数字在前、表示范围在后)•小数点也不出现在浮点数中,约定尾数一定是纯小数阶码一定是纯整数0.314159+1例:3.14169的几种不同的表示形式:日常表示法:3.14159*1000.314159*1010.0314159*10231.4159*10-1存储方法:数值部分(尾数)指数(阶码)C数据类型基本类型构造类型指针类型空类型void定义类型typedef字符类型char枚举类型enum整型实型单精度型float双精度型double数组结构体struct共用体union短整型short长整型long整型int数据类型决定:1.数据占内存字节数2.数据取值范围3.其上可进行的操作2.13、数据类型类型符号关键字数的表示范围所占位数整型字符型实型有无(signed)int16-32768~32767(signed)short16-32768~32767(signed)long32-2147483648~2147483647320~4294967295unsignedlongunsignedint160~65535有float323.4e-38~3.4e38有double641.7e-308~1.7e308有char8-128~127无unsignedchar80~255说明:数据类型所占字节数随机器硬件不同而不同,上表以IBMPC机为例:请看int和unsignedint基本数据类型unsignedshort160~65535小结:1.计算机中数的表示和进制转换二进制、八进制、十进制、十六进制2.数据的存储原码、反码、补码有符合数和无符号数定点数和浮点数3.数据类型
本文标题:c语言教案第2讲
链接地址:https://www.777doc.com/doc-3377433 .html