计算机中的信息表示与数据类型_第1页
计算机中的信息表示与数据类型_第2页
计算机中的信息表示与数据类型_第3页
计算机中的信息表示与数据类型_第4页
计算机中的信息表示与数据类型_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机中的信息表示与数据类型第一页,共四十九页,编辑于2023年,星期一2本章内容计算机中的信息表示常量变量与数据类型赋值运算符溢出第二页,共四十九页,编辑于2023年,星期一易经与二进制第三页,共四十九页,编辑于2023年,星期一为什么要用二进制表示信息?算术运算规则简单乘除法运算可转为多次加减法运算来进行0+001+010+111+10加法运算0–001–011–100–11减法运算第四页,共四十九页,编辑于2023年,星期一为什么要用二进制表示信息?适合逻辑运算0AND000AND101AND001AND11“与”运算0OR000OR111OR011OR11“或”运算0XOR000XOR111XOR011XOR10“异或”运算NOT01NOT10“非”运算第五页,共四十九页,编辑于2023年,星期一为什么要用二进制表示信息?实现技术(电子元器件)简单与电路或电路非电路第六页,共四十九页,编辑于2023年,星期一我们先来做一个游戏!第七页,共四十九页,编辑于2023年,星期一2.1.1进位计数制计算机系统中几种常用进位计数制:十位制(Decimalnotation)

二进制(Binarynotation)

八进制(Octalnotation)

十六进制数(Hexdecimalnotation)这几种进制包含两个基本要素:基数、位权。第八页,共四十九页,编辑于2023年,星期一2.1.1进位计数制基数:R进制中具有R个符号:0,1,2,(R-1);

十进制(Decimal):0~9

二进制(Binary):0~1

八进制(Octal):0~7

十六进制(Hexadecimal):0~9、A、B、C、D、E、F位权:

“个(100)、十(101)、百(102)、千(103)……”就是十进制位的“位权”。第九页,共四十九页,编辑于2023年,星期一2.1.1进位计数制十进制二进制十六进制0123456700000001001000110100010101100111891011121314151000100110101011110011011110111101234567十进制二进制十六进制89ABCDEF第十页,共四十九页,编辑于2023年,星期一2.1.1进位计数制第十一页,共四十九页,编辑于2023年,星期一2.1.2数制转换一般转换的原则是:如果两个有理数相等,则两数的整数部分和小数部分一定分别相等。十进制数转二进制数十进制数转八进制数和十六进制数二进制与八进制及十六进制之间的转换非十进制数转十进制数第十二页,共四十九页,编辑于2023年,星期一2.1.2数制转换①十进制数转二进制数方法:整数转换用“除2取余法”;小数转换用“乘2取整法”。例:将253转换

为二进制第十三页,共四十九页,编辑于2023年,星期一2.1.2数制转换①十进制数转二进制数例:将(0.745)10转换成四位二进制小数,转换过程如下:0.745×2=1.490取出整数1(最高位)0.490×2=0.980取出整数00.980×2=1.960取出整数10.960×2=1.920取出整数1(最低位)0.920转换结束

第十四页,共四十九页,编辑于2023年,星期一2.1.2数制转换②十进制数转八进制数和十六进制数十进制转八进制:整数部分转换采用“除8取余法”;小数部分转换采用“乘8取整法”。十进制转十六进制:整数部分转换采用“除16取余法”;小数部分转换采用“乘16取整法”。练习:将(253)10转换成八进制和十六进制数第十五页,共四十九页,编辑于2023年,星期一2.1.2数制转换③二进制与八进制及十六进制之间的转换第十六页,共四十九页,编辑于2023年,星期一2.1.2数制转换④非十进制数转十进制数

把各个非十进制数按权展开求和即可。即把二进制数(或八进制数,或十六进制数)写成2(或8或者16)的各次幂之和的形式,然后计算其结果。11111101.1011=1×27+1×26+1×25+1×24+1×23+1×22+0×21+1×20+1×2-1+0×2-2+1×2-3+1×2-4

=253.6875第十七页,共四十九页,编辑于2023年,星期一2.1.2数制转换总结及技巧:

数制转换中,关键是二进制与十进制之间的互换,它们之间转换好了,再转成其它进制(八进制、十六进制)就容易多了。二进制应用想办法将别针装成10包,每包数量不相等,如果顾客买不超过1000枚的任意个数的别针都能在这10包中恰好取出,刚好凑成顾客要买的数目,怎样的装法才能达到目的?第十八页,共四十九页,编辑于2023年,星期一2.1.3信息在计算机中的表示

计算机中处理的信息是多种多样的,如数值、文字、图像、声音等。这些信息可以粗略地分为两类:数值型信息和非数值型信息。第十九页,共四十九页,编辑于2023年,星期一2.1.3.1

整数(定点数)的表示整数不使用小数点,所以它也叫做“定点数”。计算机中的整数分为两类:不带符号的整数(UnsignedInteger)带符号的整数(SignedInteger)。第二十页,共四十九页,编辑于2023年,星期一2.1.3.2

实数(浮点数)的表示

绝大多数现代的计算机系统采纳了所谓的浮点数表达方式。这种表达方式利用科学计数法来表达实数。例: 1999D=1.999×103

=19.99×102

=199.9×101

=0.1999×104(规范化) 1011.1101B=0.10111101×2100(规范化)

第二十一页,共四十九页,编辑于2023年,星期一2.1.3.3

实数(浮点数)的表示浮点数的表示:0100010111101阶符尾符阶码部分尾数部分k位n位第二十二页,共四十九页,编辑于2023年,星期一2.1.4

原码与补码

符号位为0表示这个数是正数,符号位为1表示这个数是负数。这种形式的数称为原码。

用原码表示的两个数做减法? 9-6=? 6-9=?

这个操作过程比较麻烦,而且需要使用数值比较电路和减法运算电路。第二十三页,共四十九页,编辑于2023年,星期一2.1.4

原码与补码在舍弃进位的条件下,减去某个数可以用加上它的补码来代替。这个结论同样适用于二进制数的运算。10-5的减法运算可以用10+7的加法运算代替。因为5和7相加正好等于产生进位的模数12,所以称7为-5对模12的补数,也称为补码(complement)。第二十四页,共四十九页,编辑于2023年,星期一2.1.4原码与补码正数的补码表示与原码相同,下面讨论负数的补码表示。负数的补码:对原码,符号位保持不变,其余各位变反,末位加1。如:X=+1011B[X]原=0,1011[X]补=0,1011X=-1011B[X]原=1,1011[X]补=1,0101(默认机器字长5位)第二十五页,共四十九页,编辑于2023年,星期一0的原码与补码表示0的原码表示:

(默认机器字长8位)[+0000000]原=0,0000000[-0000000]原=1,0000000

结论:零的原码表示不唯一0的补码表示:[+0000000]补=0,0000000[-0000000]补=0,0000000

结论:零的补码表示唯一第二十六页,共四十九页,编辑于2023年,星期一引入了补码变减法为加法使符号位能同数值位一起参加运算数补码

2000000108000010001100001011-311111101-511111011-811111000①2+(-5)=-3

000000102+11111011-5

11111101-3③11+(-3)=8

0000101111+11111101-3

000010008②-3+(-5)=-8

11111101-3+11111011-5

11111000-8两补码数之和

=和的补码第二十七页,共四十九页,编辑于2023年,星期一引入了补码哇!这么简单减法:负数用其补码表示,减法>

加法乘法:边移位边做加法>移位和加法除法:边移位边做减法>移位和加法移位和加法解决了四则运算第二十八页,共四十九页,编辑于2023年,星期一29本章内容计算机中的信息表示常量变量与数据类型赋值运算符溢出第二十九页,共四十九页,编辑于2023年,星期一2.2常量C语言程序处理的数据形式常量(Constant)在程序中不能改变其值的量变量(Variable)其值在程序执行过程中是可以改变的30第三十页,共四十九页,编辑于2023年,星期一2.2常量整型常量有三种不同的表示形式:十进制:如:123,789等八进制:如:023,0457,01324等十六进制:如:0X2A,0XA0,0XFFFF等浮点型常量十进制小数形式:如:0.123,123.,123.0等指数形式:如123e3或123E3都代表123×10331第三十一页,共四十九页,编辑于2023年,星期一32字符型常量C语言的字符常量是用单撇号括起来的一个字符,如'A','a','$'等。第三十二页,共四十九页,编辑于2023年,星期一转义字符#include<stdio.h>intmain(){printf("12345678\t7\n");printf("123\t8\b901234567\n");return0;}33特殊字符:以字符“\”开头的字符序列,代表一个特殊的字符,称作转义字符。第三十三页,共四十九页,编辑于2023年,星期一34本章内容计算机中的信息表示常量变量与数据类型赋值运算符溢出第三十四页,共四十九页,编辑于2023年,星期一352.3.1整型名称全称类型说明符缩写类型说明符位数范围整型intint32-231~231-1无符号整型unsignedintunsigned32短整型shortintshort16无符号短整型unsignedshortintunsignedshort16长整型longintlong32无符号长整型unsignedlongintunsignedlong32第三十五页,共四十九页,编辑于2023年,星期一声明和使用变量声明变量:数据类型

变量名;如:intage;定义时初始化变量:数据类型

变量名=value;如:intage=20;定义后给变量赋值:变量名=value;如:age=20;36在同一语句中可以声明多个类型相同的变量:intpage_number,copies,paper_width;第三十六页,共四十九页,编辑于2023年,星期一372.3.2单精度浮点型float在C语言中用于存储单精度浮点数float32位-3.4×10-38~3.4×10+38,7位有效数字声明:floatselling_price;初始化:floatselling_price=11.3;selling_price=65.90;第三十七页,共四十九页,编辑于2023年,星期一382.3.3双精度浮点型内存floatdouble213.5671435568967

64位取值范围:-1.7×10-308~1.7×

1030816

位有效数字声明:doublepressure_level;初始化:pressure_level=213.5671435568967;doubledvalue=35.4;

double在C语言中用于存储双精度浮点数第三十八页,共四十九页,编辑于2023年,星期一39shortintintlongfloatdoubleTurboC2B2B4B4B8BVC++6.02B4B4B4B8B数据类型所占的位数与机器硬件(CPU)、操作系统、开发环境有关。数据类型第三十九页,共四十九页,编辑于2023年,星期一402.34字符型变量char占8位内存signed或

unsignedSigned-128至

+127

unsigned0至

255第四十页,共四十九页,编辑于2023年,星期一41本章内容计算机中的信息表示常量变量与数据类型赋值运算符溢出第四十一页,共四十九页,编辑于2023年,星期一422.4赋值运算符与赋值表达式变量

表达式;Height=177.5Weight=78Gender='m'最简单的运算符:=作用是将一个数据(或表达式的值)赋给一个变量。注意:赋值符号左边只能是变量,不能是表达式,也不允许是常量。第四十二页,共四十九页,编辑于2023年,星期一多重赋值43语法:变量1=

变量2=

表达式;MultipleAssignmentDon’tforgetthesemicolon!!右结合:从右向左赋值

变量1=(变量2=表达式);第四十三页,共四十九页,编辑于2023年,星期一44本章内容计算机中的信息表示常量变量与数据类型赋值运算符溢出第四十四页,共四十九页,编辑于2023年,星期一2.5类型溢出shortint的范围是-32768~3276745小蛇能吞下大象吗?#include<stdio.h>intmain(){shortintn=32768;printf("%d",n); return0;}第四十五页,共四十九页,编辑于2023年,星期一类型溢出解决方案解决方案:预先估算运算结果的可能范围,采用取值范围更大的类型。1+2+3+…1!+2!+3!+…13+23+33+…如果不需要处理负数,则采用无符号类型。在运算还没开始之前就判断运算数是否在合理的取值范围内。如果超出,则停止运算,转错误处理。46第四十六页,共四十九页,编辑于2023年,星期一使用sizeof运算符可以获得数据类型或变量占用内存空间的大小。其一般形式为:sizeof(type_name)或sizeof(variable_name)结果以字节为单位显示47sizeof运算符示例:sizeof(int);floa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论