C语言程序设计进制.ppt_第1页
C语言程序设计进制.ppt_第2页
C语言程序设计进制.ppt_第3页
C语言程序设计进制.ppt_第4页
C语言程序设计进制.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

关于数制的学习 语言是为描述系统而设计的,因此它 应当具有汇编语言所能完成的一些功能。 语言既具有高级语言的特点,又具有低 级语言的功能,因而具有广泛的用途和很 强的生命力。 为了使没有学过汇编语言的读者对二 进制运算能有较好的理解,先介绍有关进 制、位的知识。 补充知识: 计算机中常用的数制、 数据与编码 计算机中常用的数制、数据与编码 计算机使用的数制及转换 计算机中二进制的基本运算 计算机中数据与编码 表 计算机中数据的表示 计算机中常用的数制、数据与编码 数制 在计计算机中对对信息的处处理也就是对对数据的处处 理,数据是信息在计计算机内部的表示形式。 人们们通常使用的是十进进制计计数制 例:(123.456)10= 1102+2101+3100 + 410-1+510-2+610-3 任意一个十进制数N,可表示成如下形式: (N)10=Dn-110n-1+Dn-210n-2+D1101+D0100+ D-110-1+D-m+110-m+1+D-m10-m 进进位制 二进进制 八进进制 十进进制 十六进进制 规则规则 逢二进进一 逢八进进一 逢十进进一 逢十六进进 一 基数 R=2 R=8 R=10 R=16 数码码 0,1 0,1,2.,7 0,1,2.,9 0,1,2,.9, A,B,C,D,E,F 权权 2i 8i 10i 16i 形式 B O D H 表示 计算机中常用的各种进位计数制 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 10 (A) 1010 11 (B) 1011 12 (C) 1100 13 (D) 1101 14 (E) 1110 15 (F) 1111 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 十六进制八进制 说明: l在计计算机中 十进进制数 数据的输输入和输输出 二进进制数 数据的存储储和运算 常识: 八进制、十六进制数 一种计数方法,以弥补二进制数在书写位数过长的不 足。 以0开头 以0x开头 方法:把各个非十进制数按权展开,求和。 n不同进位计数制之间的转换 转换的原则: 如果两个有理数相等,则两数的整数部分和小数部分一定分别相等。 通常对整数部分和小数部分分别进行转换。 1)非十进制数转换成十进制数 例:二进制数转换成十进制数 (1101101)2 =123+122+021+120+12-1+02-2+12-3 =8+4+0+1+0.5+0+0.125 =(13.625)10=13.625D 0000 0 1000 8 0001 1 1001 9 0010 2 1010 10 0011 3 1011 11 0100 4 1100 12 0101 5 1101 13 0110 6 1110 14 0111 7 1111 15 二进制 十进制 二进制 十进制 十进制数转换为 二进制数: 转换为 八进制数: 转换为 十六进制数: 2)十进制数转换成非十进制数 整数“除2取余”;小数“乘2取整”。 整数 “除8取余”,小数 “乘8取整”。 整数“除16取余”;小数“乘16取整 ”。 2 125 余数 低位 2 62 1 2 31 0 2 15 1 2 7 1 2 3 1 2 1 1 0 1 高位 125D = 1111101B 例 将十进制数125.6875转换成二进制数。 整数部分125转换如下: 0 . 6 8 7 5 2 高位 1 1 . 3 7 5 0 2 0 0 . 7 5 0 0 2 1 1 . 5 0 0 0 2 低位 1 1 . 0 0 0 0 为 零结束 小数部分0.6875转换如下: 125.6875D =1111101.1011B 将八进进制数(714 .431)8转换转换 成二进进制数 7 1 4 . 4 3 1 111 001 100 . 100 011 001 (714 .431)8 =(111001100.100011001) 2 F3)非十进制数之间的相互转换 八进制转换成二进制数 小数点为界,向左或向右每一位八进制数用相应的三位 二进制数取代。不足三位,取零补足。 例如: 1换3制 011 101 110 . 001 010 110 3 5 6 . 1 2 6 即 (11101110.00101011)2 =(356.126)8 二进制数转换成相应的八进制数 只是上述方法的逆过程。 例如:将二进制数(11101110.00101011)2转换成八进制数。 3换1制 只是上述方法的逆过程。 十六进制数转换成相应的二进制数 以小数点为界,向左或向右每一位十六进制数用相应的 四位二进制数取代即可。 如果不足四位,取零补足。 二进制数转换成相应的十六进制数 1换4制 4换1制 1、算术术运算: 加、减、乘、除 3、关系运算: “大于”、“小于”、“等于”、 “不等于” 等等 2、逻辑运算: “与”、 “或”、 “非” 二进制的基本运算 加法 0 + 0 = 0 0 + 1 = 1 + 0 = 1 1 + 1 = 1 算术运算 逢二进一,向高位进位 l 与(逻辑逻辑 乘) 0 0 = 0 l 1 0 = 0 1 = 0 l 1 1 = 1 l l 或(逻辑逻辑 加) 0 + 0 = 0 0 + 1 = 1 + 0 = 1 1 + 1 = 1 非 1 = 0 0 = 1 逻辑运算 可行性 只有0和1两个状态态 简简易性 运算法则简单则简单 逻辑逻辑 性 1和0正好与逻辑逻辑 代数中的真和假相 对应对应 可靠性 0和1两个符号,存储储、传输传输 和处处理 时时不容易出错错 二进制与计算机的密切关系,是与二进制本身所具有的特 点分不开的。 二进制的优点: 8 bit = 1 Byte(字节) 1 KB = 210 B =1024 Byte 1 MB = 210KB=1024 KB 1 GB = 210MB=1024 MB 一位二进制数在计算机中称为 1 bit (比特) 计计算机处处理的数据有两种形式: 数值值型 :可以参加算术术运算 非数值值型:字符、图图片、声音等 字符型数据包括:文字、符号与数字等。 数据与编码表 字符型数据与数值型数据的差别: 所有字符按事先约定的编码值表示。 ASCII 美国标标准信息交换码换码 (American Standard Code for Information Intercharnge) ASCII码码是用七位二进进制表示一个字符。27 =128 通常一个ASCII码码占 1字节节(8个bit), 最高位置为为 0 或用作奇偶校验验位 。 西文字符数据编码 : 例: 字母A的ASCII码值为(0100 0001) ASCII码码 二进进制 十六进进制 十进进制 0 0110000 30 48 A 1000001 41 65 a 1100001 61 97 一个字节一般由个二进位组成,其中最右边的一位称为“最低 有效位”或“最低位”,最左面的一位称为“最高有效位”或“最 高位”,每一个二进位的值是或。 B、字节和位 大多数计算机系统的内存储器是由许许多多被称为“字节”( t)的单元组成的。 在微型机中一般以个字节存放一个实数,以个字节存放一个整 数。最左边的一位(最高位)用作数的符号位。 表示数值,有不同的方法,一般有:原码、反码和补码。 符号位 0表示正号,1表示负负号 数值值 二进进制形式表示。 原码 原码表示法是机器数的一种简单的表示法。 设有一数为X,则原码表示可记作X原 的原码为: 一的原码为: 0 1 1 1 二进制的代表十进制的, 十的原码为 一的原码为 和一表示的是同一个数,而在内存中却有两个不同 的表示。即的表示不唯一,说明以原码方式存放数据不适合于 计算机的运算。 例如 三、反码 正数:反码与原码相同。 如:的反码为。 负数:符号位为,其余各位是对原码取反。如: 一的反码为: 十的反码为: 一的反码为: 同样,的表示不唯一。 四、补码 最好能做到将符号位和其它位统一处理。 对减法也按加法来处理。这就是“补码”。 原码和反码都不便于计算机内的运算,因为在 运算中要单独处理其符号。 设有一数,则的补码记作补 在计算机中,以一个有限长度的二进位作为数的模, (如用1个字节表示一个数,模为256。即逢56就进 - |00000000| - 进位被丢弃。 正数:其原码、反码、补码相同。 例如,的补码也是。 负数:最高位为,其余各位为原码的相应位取反, 然后对整个数加 一的原码: 一的补码:第步: 补码的规定: +1 第步: - 11111001 如果已知一个负数的补码,想将其转换为十进制数, 补码中的最高位不改动,其余各位取反加,得到原码。 如,先变成,再加 得,它是一的原码。 的补码表示为: 一的补码可以这样求()最高位为,其余各位为 原码取反,即对求反得 ;加,得,进位被丢弃(因 为一个字节只能容纳位,256 只能被存储为 ) 的补码是唯一的。 这样, 用补码进行运算,减法可以用加法来实现,如十一应 得。可以将十的补码和一的 补码相加,就得到结果值的补码。 十的补码: 1 1 一的补码: - ( 相 加) 1 0 0 0 0 0 0 0 1 进位被舍去。后面位就是1的补码 以补码表示的数 表11.2 - 数值 | 补码 -|- 0 | 00000000 -1 | 11111111 -2 | 11111110 - - -3 | 11111101 -4 | 11111100 . . | . (往下不断减1) . | . -127 | 10000001 -128 | 10000000 -|- 1 | 00000001 2 | 00000010 . | . . | .(往下不断加1 ) . | . 126 | 01111110 127 | 01111111 - 可见,以补码形式在一个字节(位)中存放一 个数,最大值为,最小值为一。 即数的范围为一。 计算机是以补码形式存放数的。 练练 习习 3A7CH= B 110011100101B= H 求下列的数据的各种数码(8bit)表示 X1=42 X2=-42 在计算机内一切信息的存取、传输和处理都是以 ( )形式进行的。 A)ASCII码 B)二进制 C)BCD码 D)十六进制 两个二进制数10011001与00101010之和

温馨提示

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

评论

0/150

提交评论