当前位置:文档之家› 双精度浮点数概念和表示方法

双精度浮点数概念和表示方法

双精度浮点数概念和表示方法

IEEE浮点数的表示方法及规则

计算机组成原理课程作业报告 解决的问题: IEEE浮点数的表示方法及规则 班级: 10021101 学号: 2011302610 姓名:最天使 日期: 2013年10月29日

一、什么是IEEE754标准 1.两种基本浮点格式:单精度和双精度; 2.两种扩展浮点格式:单精度扩展和双精度扩展; 3.浮点数运算的准确度要求:加、减、乘、除、平方、余数,将浮点格式的数舍入为整数值; 4.在十进制字符串和两种基本浮点格式之一的二进制浮点数格式之间的转换的准确度、单一性和一致性要求; 5.五种异常:乘、除、平方根、余数、在不同浮点格; 6.四种舍入方向: ①向最接近的可表示的值:Round(0.5) = 0; Round(1.5) = 2; Round(2.5) = 2; ②当有两个最接近的可表示的值时首选“偶数”值; ③向负无穷大(向下):floor(1.324) = 1 floor(-1.324) = -2 ④向正无穷大(向上)以及向(截断):C/C++ 函数ceil() ceil(1.324) = 2 Ceil(-1.324) = -1; 二、IEEE754表示浮点数的格式参数: 类型存储位数偏移值 数符S (位)阶码E (位) 尾数M (位) 总位数 (位) 十六进制十进制 短实数 1 8 23 32 0X7FH +127 长实数 1 11 52 64 0X3FFH +1023 临时实数 1 15 64 80 0X3FFFH +16383 特殊情况: 对于阶码为0或者255时,IEEE有特殊的规定: 1.如果E是0并且M是0,这个数+0(和符号位相关); 2.如果E=2-1并且M是0,这个数是正负无穷大(和符号相关); 3.如果E=2-1并且M不是0,这个数表示为不是一个数(NaN)。

角的概念与表示(教案)

7.3角的概念与表示 川沙中学南校徐莲 教学目标 1. 理解角的概念,掌握角的有关名称,并能用字母正确表示角. 2. 能识读并画出方向角. 3. 经历角的概念的形成与角的表示过程,体会数学的严谨性、规范性、简洁性. 4. 经历方向角的表示过程来体会数学与生活的密切关系. 教学重点 1.角的概念及表示法. 2.方向角的表示. 教学难点 1.角的概念及内部和外部的认识. 2.方向角的识别与表示. 一.引入课题:角 背景图:时钟、剪刀、五角星、墙面. 二. 新课 1. 角的两种定义 角是具有公共端点的两条射线组成的图形. 这个公共端点叫做角的顶点,这两条射线叫做角的边. 角是由一条射线绕着它的端点旋转到另一个 位置所成的图形.初始位置的那条射线叫做角的 始边,终止位置的那条射线叫做角的终边. 2. 角的内部和外部 角的始边转到角的终边所经过的平面部分,叫做角的内部,简称角内. 本书中所说的角,除了周角外,未加说明的 角是指小于平角的角 3. 角的表示方法 (1)用三个大写字母表示,如∠AOB或∠BOA (注意:顶点字母必须写在中间). 顶点: 边: (2)用角的顶点字母表示,如:∠O(只有一个角时).

(3)用一个数字表示,如:∠1、∠2. (4)也可用一个希腊字母表示, 如:∠α、∠β、∠γ. 练一练 (1)在下面图中用阴影表示∠1的外部. (2) ①给角标出字母,写出角的记号,并指明角的顶点和边. ②D、E分别是CB、CA上的点,∠ACB与∠DCE 是同一个角吗? ③∠DCE和∠CDE指的是同一个角吗? ④∠E这种记法有错误吗?若有,请加以改正. 4. 方向角 探索:如图,射线ON、OE、OS、OW分别表示 从点O出发北、东、南、西的四个方向.你能说出图中 射线OA,OB,OC,OD分别表示什么方向吗? 用射线表示方向的一种基本形式:例题:已知迪斯尼乐园在川沙中学南校约 南偏西35°的方向,如果用点O表示川沙中 学南校,用点A表示迪斯尼乐园,画出从川沙 中学南校到迪斯尼乐园方向的射线.

C语言的数据类型→浮点型数据

C语言的数据类型→浮点型数据 一、浮点型常量的表示方法: C语言中的浮点数(floating point unmber)就是平常所说的实数。 浮点数有两种表示形式: (1)、十进制小数形式。它由数字和小数点组成(注意必须有小数点)。 如:0.123 、 123.、123.0、0.0 都是十进制小数形式。 (2)、指数形式。 如:123e3或123E3都代表123*103。 注意字母e(或E)之前必须有数字,且e后面的指数必须为整数,如e3、 2.1e 3.5、 e3、 e 等都不是合法的指数形式。 一个浮点数可以有多种指数表示形式。例如123.456e0、 12.3456e1、1.23456e2 、 0.123456e3 、 0.0123456e4 、 0.00123456e5等。其中的1.23456e2称为“规范化的指数形式”。即在字母e(或E)之前的小数部分中,小数点左边应有一位(且只能有一位)非零的数字。例如2.3478e2 、 3.099E5 、 6.46832E12都属于规范化的指数形式,而

12.908e10 、0.4578E3 、 756e0则不属于规范化的指数形式。一个浮点数在用指数形式输出时,是规范化的指数形式输出的。例如。若指定将实数5689.65按指数形式输出。输出的形式是5.68965e+003,而不会是0.568965e+004或56.8965e+002。 二、浮点型变量 一个浮点型数据一般在内存中4个字节(32位)。与整型数据的存储方式不同,浮点型数据是按照指数形式存储的。系统把一个浮点型数据分成小数部分和指数部分,分别存放。指数部分采用规范化的指数形式。例如:实数3.14159在内存中的存放形式可以用下图来表示: 1、浮点型变量在内存中的存放形式。 上图使用十进制数来表示的,实际上在计算机中是用二进制数来表示小数部分以及用2的幂次来表示指数部分的。

(完整版)角的概念的推广(教学设计)

§2 角的概念的推广 【教学目标】 1.通过实例,理解角的概念推广的必要性,了解任意角的概念,根据角的旋转方向,能判断正角、负角和零角; 2.学会建立直角坐标系来讨论任意角,理解象限角的定义,掌握终边相同角的表示方法; 3.通过观察、联想得出相应的数学规律的学习过程,体会由特殊到一般的数学思维方法. 【教学重点】 1.了解任意角的概念,初步理解正角、负角、零角、象限角、终边相同的角的概念; 2.初步学会终边相同的角的表示方法. 【教学难点】 终边相同的角的集合的表示方法. 【教学方法】 六环节分层导学法 【课前准备】 (学案导学)教师编印导学案,提前两天下发,指导学生完成并检查. 学生预习教材P6-8相关内容,完成优化设计基础知识梳理部分和导学案自主学习部分内容,形成对角的概念的推广的初步认识;学有余力的同学尝试完成优化设计典型例题领悟部分和导学案合作探究部分,至少明确本节课的研究主线. (小组交流)学生分组交流讨论,分享自己的学习心得,解决个别同学存在的困惑,共同梳理出自己小组存在的问题,以便在课堂上得到及时解决。 (检查反馈) 学生自主学习能力比较差,主要存在以下问题: 1)书写不够规范,角的单位“°”容易漏写; 2)思维不够严谨,审题不仔细,做题往往不注意条件; 3)终边相同的角的表示方法掌握不熟练; 4)概念辨析缺乏方法. 完成较好的学生有:白焕焕、杨宇、杨强、何楠.

【教学过程】 一、导入新课 初中阶段我们学习了“角的概念”,请大家思考一下问题: (1)初中学过的角是如何定义的,角的范围又是怎样的? (2)跳水运动员在空中身体的旋转周数如何用角度来表示? (3)汽车在前进和后退中,车轮转动的角度如何表示才合理? (4)工人师傅在拧紧或拧松螺丝时,扳手转动的角度如何表示比较合适? 学生围绕以上问题进行讨论,从而得出正角、负角和任意角的有关概念. 教师对学生的回答进行总结,并强调:在日常生活中,我们经常要遇到大于360°的角及按不同方向旋转而成的角,这些都说明了我们研究推广角的概念的必要性. 之后提出本节课的主要问题,即在初中学习的基础上,将角的概念推广到任意角. 【板书】角的概念的推广 二、展示评价 学生以组推荐代表展示导学案的完成情况,并回答问题:本节课中学习了哪些新概念,这些概念分别是如何定义的?其他同学补充完善,不同组别之间展开交流点评,教师根据学生的回答情况进行板书,并点拨、激励、评价. 展示形式:实物投影展示导学案的完成情况,口头表述回答教师所提问题. 三、导引探究 教师引导学生重点探究象限角的判定与终边相同角的表示方法,学会建立直角坐标系来讨论任意角,理解象限角的定义,掌握终边相同角的表示方法. 探究1:判断角所在象限 例1在0°~360°之间,找出与下列各角终边相同的角,并分别指出它们是第几象限角: (1)480°;(2)-760°;(3)932°; 归纳小结:判断角α所在象限的方法:先在0°~360°之间,找出与所求角终边相同的角β,因为α与β终边相同,因此只需判断角β所在象限,即为角α所在象限. 跟踪训练1:象限角的概念: 第一象限角的集合可表示为____________ ______; 第二象限角的集合可表示为_________ ________ _; 第三象限角的集合可表示为;

三角函数基本概念和表示

第三章三角函数 第一节三角函数及概念 复习要求: 1.任意角、弧度 了解任意角的概念和弧度制,能进行弧度与角度的互化; 2.三角函数 (1)借助单位圆理解任意角三角函数(正弦、余弦、正切)的定义; (2)借助单位圆中的三角函数线推导出诱导公式。 知识点: 1.任意角的概念 角可以看成平面内一条射线绕着端点从一个位置旋转到另一个位置所成的图形。一条射线由原来的位置OA,绕着它的端点O按逆时针方向旋转 到终止位置OB,就形成角α。旋转开始时的射线OA叫做角的 始边,OB叫终边,射线的端点O叫做叫α的顶点。 2.角的分类 为了区别起见,我们规定: 按逆时针方向旋转所形成的角叫正角,按顺时针方向旋转所形成的角叫负角。 如果一条射线没有做任何旋转,我们称它为零角。 3.象限角 角的顶点与原点重合,角的始边与x轴的非负半轴重合。那么,角的终边(除端点外)落在第几象限,我们就说这个角是第几象限角。 (1)第一象限角的集合: |22, 2 k k k Z π απαπ ?? <<+∈ ???? (2)第二象限的集合: |22, 2 k k k Z π απαππ ?? +<<+∈ ????。 (3)第三象限角的集合: 3 |22, 2 k k k Z π αππαπ ?? +<<+∈ ????。 (4)第四象限角的集合: 3 |222, 2 k k k Z π απαππ ??+<<+∈ ???? 4.轴线角

角的顶点与原点重合,角的始边与x 轴的非负半轴重合。若角的终边落在坐标轴上,称这个角为轴线角。它不属于任何象限,也称为非象限角。 5.终边相同的角 所有与角α终边相同的角连同角α在内,构成的角的集合,称之为终边相同的角。记为: {} |360,S k k Z ββα==+?∈或 {} |2,S k k Z ββαπ==+∈。它们彼此相差 2()k k Z π∈,根据三角函数的定义知,终边相同的角的各种三角函数值都相等。 6.区间角 区间角是指介于两个角之间的所有角,如5| ,6 666π πππααα???? =≤≤ =????? ???。 7,角度制与弧度制 角度制:规定周角的1 360为1度的角,记作0 1,它不会因圆的大小改变而改变, 与r 无关 弧度制:长度等于半径长的圆弧所对的圆心角叫做1弧度角,记作1rad 或1弧度或1(单位可以省略不写)。 角有正负零角之分,它的弧度数也应该有正负零之分,如-π,-2π等等,一般地,正角的弧度数是一个正数,负角的弧度数是一个负数,零角的弧度数是0,角的正负主要由角的旋转方向来决定。 8.角的度量 (1)角的度量制有:角度制,弧度制 (2)换算关系:角度制与弧度制的换算主要抓住180rad π=o 。 3602π=o ,180rad π=o , 10.01745()180rad rad π= ≈o ,1801()57.30rad π=≈o o (3 9.在半径为r 的圆中,弧长l 所对的圆心角的弧度数为||α=l r 。 10.

浮点数的表示和基本运算

浮点数的表示和基本运算 1 浮点数的表示 通常,我们可以用下面的格式来表示浮点数 S P M 其中S是符号位,P是阶码,M是尾数 对于IBM-PC而言,单精度浮点数是32位(即4字节)的,双精度浮点数是64位(即8字节)的。两者的S,P,M所占的位数以及表示方法由下表可知 S P M表示公式偏移量 1823(-1)S*2(P-127)*1.M127 11152(-1)S*2(P-1023)*1.M1023 以单精度浮点数为例,可以得到其二进制的表示格式如下 S(第31位)P(30位到 23位) M(22位到 0位) 其中S是符号位,只有0和1,分别表示正负;P是阶码,通常使用移码表示(移码和补码只有符号位相反,其余都一样。对于正数而言,原码,反码和补码都一样;对于负数而言,补码就是其绝对值的原码全部取反,然后加1.) 为了简单起见,本文都只讨论单精度浮点数,双精度浮点数也是用一样的方式存储和表示的。 2 浮点数的表示约定 单精度浮点数和双精度浮点数都是用IEEE754标准定义的,其中有一些特殊约定。 (1) 当P = 0, M = 0时,表示0。 (2) 当P = 255, M = 0时,表示无穷大,用符号位来确定是正无穷大还是负无穷大。

(3) 当P = 255, M != 0时,表示NaN(Not a Number,不是一个数)。 当我们使用.Net Framework的时候,我们通常会用到下面三个常量 Console.WriteLine(float.MaxValue); // 3.402823E+38 Console.WriteLine(float.MinValue); //-3.402823E+38 Console.WriteLine(float.Epsilon); // 1.401298E-45 //如果我们把它们转换成双精度类型,它们的值如下 Console.WriteLine(Convert.ToDouble(float.MaxValue)); // 3.40282346638529E+38 Console.WriteLine(Convert.ToDouble(float.MinValue)); //-3.40282346638529E+38 Console.WriteLine(Convert.ToDouble(float.Epsilon)); // 1.40129846432482E-45 那么这些值是如何求出来的呢? 根据上面的约定,我们可以知道阶码P的最大值是11111110(这个值是254,因为255用于特殊的约定,那么对于可以精确表示的数来说,254就是最大的阶码了)。尾数的最大值是11111111111111111111111。 那么这个最大值就是:0 11111110 11111111111111111111111。 也就是 2(254-127) * (1.11111111111111111111111)2 = 2127 * (1+1-2-23) = 3.40282346638529E+38 从上面的双精度表示可以看出,两者是一致的。最小的数自然就是- 3.40282346638529E+38。 对于最接近于0的数,根据IEEE754的约定,为了扩大对0值附近数据的表示能力,取阶码P = -126,尾数 M = (0.00000000000000000000001)2 。此时该数的二进制表示为:0 00000000 00000000000000000000001 也就是2-126 * 2-23 = 2-149 = 1.40129846432482E-45。这个数字和上面的Epsilon 是一致的。 如果我们要精确表示最接近于0的数字,它应该是 0 00000001 00000000000000000000000 也就是:2-126 * (1+0) = 1.17549435082229E-38。 3 浮点数的精度问题 浮点数以有限的32bit长度来反映无限的实数集合,因此大多数情况下都是一个近似值。同时,对于浮点数的运算还同时伴有误差扩散现象。特定精度下看似

IEEE浮点数表示法

IEEE浮点数表示法 ------------------------------------------------- float 共计32位(4字节) 由最高到最低位分别是第31、30、29、 0 31位是符号位,1表示该数为负,0反之 30~23位,一共8位是指数位(-128~127) 22~ 0位,一共23位是尾数位 每8位分为一组,分成4组,分别是A组、B组、C组、D组 每一组是一个字节,在内存中逆序存储,即: DCBA 31 30 23 22 0 |-|--------|-----------------------| | | || |-|--------|-----------------------| 注: 尾数的存储位为23位,由于没有存储最高位的1,所以实际有效位为24位。如果其中20位都用来表示小数部分,能表示的最大值为0.999999 我们先不考虑逆序存储的问题,因为那样会把读者彻底搞晕,所以我先按照顺序的来讲,最后再把他们翻过来就行了。

纯整数的表示方法 ------------------------------------------------- 现在让我们按照IEEE浮点数表示法,一步步的将float型浮点数123456.0f转换为十六进制代码。在处理这种不带小数的浮点数时,直接将整数部转化为二进制表示: 1 11100010 01000000 也可以这样表示: 1 11100010 01000000.0 然后将小数点向左移,一直移到离最高位只有1位: 1.11100010 01000000 一共移动了16位,在布耳运算中小数点每向左移一位就等于在以2为底的科学计算法表示中指数+1,所以原数就等于这样 1 11100010 01000000 = 1.11100010 01000000 * (2^16) 现在我们要的尾数和指数都出来了。显而易见,最高位永远是1,因为你不可能把买了16个鸡蛋说成是买了0016个鸡蛋吧?(呵呵,可别拿你买的臭鸡蛋甩我),所以这个1我们还有必要保留他吗?(众:没有!)好的,我们删掉他。这样尾数的二进制就变成了: 11100010

浮点数在内存中的表示方法

浮点数在内存中的表示方法 浮点数保存的字节格式如下: 地址+0 +1 +2 +3 内容SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM 这里 S 代表符号位,1是负,0是正 E 偏移127的幂,二进制阶码=(EEEEEEEE)-127。 M 24位的尾数保存在23位中,只存储23位,最高位固定为1。此方法用最较少的位数实现了 较高的有效位数,提高了精度。 零是一个特定值,幂是0 尾数也是0。 浮点数-12.5作为一个十六进制数0xC1480000保存在存储区中,这个值如下:地址+0 +1 +2 +3 内容0xC1 0x48 0x00 0x00 浮点数和十六进制等效保存值之间的转换相当简单。下面的例子说明上面的值-12.5如何转换。浮点保存值不是一个直接的格式,要转换为一个浮点数,位必须按上面的浮点数保存格式表 所列的那样分开,例如: 地址+0 +1 +2 +3 格式SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM 二进制11000001 01001000 00000000 00000000 十六进制C1 48 00 00 从这个例子可以得到下面的信息: 符号位是1 表示一个负数 幂是二进制10000010或十进制130,130减去127是3,就是实际的幂。尾数是后面的二进制数10010000000000000000000 在尾数的左边有一个省略的小数点和1,这个1在浮点数的保存中经常省略,加上一个1和小数 点到尾数的开头,得到尾数值如下: 1.10010000000000000000000

接着,根据指数调整尾数.一个负的指数向左移动小数点.一个正的指数向右移动 小数点.因为 指数是3,尾数调整如下: 1100.10000000000000000000 结果是一个二进制浮点数,小数点左边的二进制数代表所处位置的2的幂,例如:1100表示 (1*2^3)+(1*2^2)+(0*2^1)+(0*2^0)=12。 小数点的右边也代表所处位置的2的幂,只是幂是负的。例如:.100...表示 (1*2^(-1))+ (0*2^(-2))+(0*2^(-2))...=0.5。 这些值的和是12.5。因为设置的符号位表示这数是负的,因此十六进制值 0xC1480000表示-12.5。 所有的C/C++编译器都是按照IEEE(国际电子电器工程师协会)制定的IEE E 浮点数表示法来进行运算的。这种结构是一种科学表示法,用符号(正或负)、指数和尾数来表示,底数被确定为2,也就是说是把一个浮点数表示为尾数乘以2的指数次方再加上符号。下面来看一下具体的规格: 符号位指数位小数部分 指数偏移量单精度浮点数 1 位[31] 8位 [30-23] 23位 [22-00] 127 双精度浮点数 1 位[63] 11 位[62-52] 52 位[51-00] 1023 我们以单精度浮点数来说明: 指数是8位,可表达的范围是0到255 而对应的实际的指数是-127到+128 这里特殊说明,-127和+128这两个数据在IEEE当中是保留的用作多种用途的 -127表示的数字是0 128和其他位数组合表示多种意义,最典型的就是NAN状态

浮点数的表示和运算(范围计算)

浮点数的表示和运算 浮点数的表示和基本运算 1 浮点数的表示 通常,我们可以用下面的格式来表示浮点数 其中S是符号位,P是阶码,M是尾数 对于IBM-PC而言,单精度浮点数是32位(即4字节)的,双精度浮点数是64位(即8字节)的。两者的S,P,M所占的位数以及表示方法由下表可知 以单精度浮点数为例,可以得到其二进制的表示格式如下 其中S是符号位,只有0和1,分别表示正负;P是阶码,通常使用移码表示(移码和补码只有符号位相反,其余都一样。对于正数而言,原码,反码和补码都一样;对于负数而言,补码就是其绝对值的原码全部取反,然后加1.) 为了简单起见,本文都只讨论单精度浮点数,双精度浮点数也是用一样的方式存储和表示的。 2 浮点数的表示约定 单精度浮点数和双精度浮点数都是用IEEE754标准定义的,其中有一些特殊约定。 (1)当P = 0, M = 0时,表示0。 (2)当P = 255, M = 0时,表示无穷大,用符号位来确定是正无穷大还是负无穷大。 (3)当P = 255, M != 0时,表示NaN(Not a Number,不是一个数)。 当我们使用.Net Framework的时候,我们通常会用到下面三个常量 Console.WriteLine(float.MaxValue); // 3.402823E+38 Console.WriteLine(float.MinValue); //-3.402823E+38 Console.WriteLine(float.Epsilon); // 1.401298E-45 //如果我们把它们转换成双精度类型,它们的值如下 Console.WriteLine(Convert.ToDouble(float.MaxValue)); // 3.40282346638529E+38 Console.WriteLine(Convert.ToDouble(float.MinValue)); //-3.40282346638529E+38 Console.WriteLine(Convert.ToDouble(float.Epsilon)); // 1.40129846432482E-45 那么这些值是如何求出来的呢?

浮点数表示方法与运算

在计算机系统的发展过程中,曾经提出过多种方法表达实数,典型的比如定点数。在定点数表达方式中,小数点位置固定,而计算机字长有限,所以定点数无法表达很大和很小的实数。最终,计算机科学发展出了表达范围更大的表达方式——浮点数,浮点数也是对实数的一种近似表达。 1.浮点数表达方式 我们知道任何一个R 进制数N 均可用下面的形式表示:N R =±S ×R ±e 其中,S—尾数,代表N 的有效数字; R—基值,通常取2、8、16;e—阶码,代表N 的小数点的实际位置(相当于数学中的指数)。 比如一个十进制数的浮点表达1.2345×102,其中1.2345为尾数,10为基数,2为阶码。一个二进制数的浮点表达0.001001×25,0.001001为尾数,2为基数,5为阶码;同时0.001001×25也可以表示成0.100100×23,0.100100为尾数,2为基数,3为阶码。浮点数就是利用阶码e 的变化达到浮动小数点的效果,从而灵活地表达更大范围的实数。 2.浮点数的规格化 一个数用浮点表示时,存在两个问题:一是如何尽可能多得保留有效数字;二是如何保证浮点表示的唯一。 对于数0.001001×25,可以表示成0.100100×23、0.00001001×27等等,所以对于同一个数,浮点有多种表示(也就是不能唯一表示)。另外,如果规定尾数的位数为6位,则0.00001001×27会丢掉有效数字,变成0.000010×27。因此在计算机中,浮点数通常采用规格化表示方法。 当浮点数的基数R 为2,即采用二进制数时,规格化尾数的定义为:1/2<=|S|<1。若尾数采用原码(1位符号位+n 位数值)表示,[S]原=S f S 1S 2S 3…S n (S f 为符号位的数符),则满足S 1=1的数称为规格化数。即当尾数的最高有效位S 1=1,[S]原=S f 1S 2S 3…S n ,表示该浮点数为规格化数。对0.001001×25进行规格化后,表示为0.100100×23。 3.浮点数的表示范围 求浮点数的表示范围,实质是求浮点数所能表示的最小负数、最大负数、最小正数和最大正数。

浮点数表示方法的分析研究

浮点数表示方法的分析研究.txt13母爱是迷惘时苦口婆心的规劝;母爱是远行时一声殷切的叮咛;母爱是孤苦无助时慈祥的微笑。 浮点数表示方法的分析研究 [日期:2006-06-10] 来源:作者: [字体:大中小] 摘要:在《计算机组成原理》课程的教学中,浮点数的表示与运算是一个重点,也是难点。本文对浮点数的一般表示及标准表示的方法、范围、存储格式等进行了比较深入地比较、分析和研究,力求给读者一个清晰的概述。 关键词:浮点数,表示方法,符号,尾数,阶码,范围 《计算机组成原理》课程是计算机科学与技术专业的一门必修专业基础课,主要是讲述计算机系统几大硬件的组成结构和工作原理。在其核心部件——运算器(Arithmetician)的运算机制中,浮点数(Floating-point)的表示与运算方法是一个重点,也是难点,笔者在查阅了大量中外文文献的基础上,根据多年的教学实践经验,对浮点数的表示方法、规格化处理方法、表示范围进行了比较详细地分析研究,以方便学生的学习,共同行们参考。 1、浮点数的一般表示方法 在数学中,表示一个浮点数需要三要素:尾数(mantissa)、指数(exponent,又称阶码)和基数(base),都用其第一个字母来表示的话,那么任意一个浮点数N可以表示成下列形式:N=M×BE,例如N1=1.234×10-6, N2= -0.001011×2011等,同样的数字对于不同的基数是不相同的,移动小数点的位置,其指数相应地跟着变化。在计算机中,表示一个浮点数,同样需要以上三要素,只是阶码与尾数一同存储,基数常有2、8、16等数值,下面的讨论以2为基数进行。 将浮点数放在计算机中存储时,尾数M用定点(Fixed-point)小数的形式,阶码E用有符号整数形式,改变M中小数点的位置,同时需要修改E的值,可以给出有效数字(significant number)的位数,因此M和E决定了浮点数的精度(precision),E指明小数点在B进制数据中的位置,因而E和B决定了浮点数的表示范围(range),浮点数的符号(Sign)是单独考虑,设阶码有m+1位,尾数有n+1位,则一般浮点数的表示方法如图1所示,其中,下标s代表符号位,下标数字代表数字所处的位数,尾数的小数点默认最高数字位M1之前。图(b)是将尾数的符号位提在最前面,其它部分与图(a)一样,是目前常用的一种表示形式。 图1 浮点数的一般表示形式 在这种表示方法中,阶码的二进制编码(binary code)一般是原码(sign magnitude)、补码(twos complement)或移码(bias),尾数的编码一般是原码或补码。 2、浮点数的规格化处理 在浮点数系统中,小数点的浮动使数值的表示不能惟一,从而给数据处理带来困难,因此有必要使浮点数的表示与存储有一定的标准,考虑到阶码、尾数之间的关系,常将尾数的最高数字位是有效值的数值称为规格化(normalization),由于尾数可以是原码或补码,所以有两种规格化的形式,如表1所示。

角概念推广优秀教案

【课题】5.1 角的概念推广 【教学目标】 知识目标: ⑴了解角的概念推广的实际背景意义; ⑵理解任意角、象限角、界限角、终边相同的角的概念. 能力目标: (1)会判断角所在的象限; (2)会求指定范围内与已知角终边相同的角; (3)培养观察能力和计算技能. 情感目标: (1)经历推广角的概念及随之带来的新知识的认知过程,树立科学探究精神; (2)参与数学建模过程,感受生活中的数学模型,体会数学知识的应用. 【教学重点】 终边相同角的概念. 【教学难点】 终边相同角的表示和确定. 【教学设计】 (1)以丰富的生活实例为引例,引入学习新概念——角的推广; (2)在演示——观察——思维探究活动中,使学生认识、理解终边相同的角; (3)在练习——讨论中深化、巩固知识,培养能力; (4)在反思交流中,总结知识,品味学习方法. 【教学备品】 教学课件、学习演示用具(两个硬纸条一个扣钉). 【课时安排】 2课时.(90分钟) 【教学过程】

0°(1)(2)

终边在坐标轴上的角叫做界限角,例如,0°、90°、180°、270°、360°、?90°、?270°角等都是界限角. 运用知识强化练习 教材练习5.1.1 .在直角坐标系中分别作出下列各角,并指出它们是第几象限的角: ⑴ 60°;⑵?210°;⑶225°;⑷?300°. 动手操作实验观察 用图钉联结两根硬纸条,将其中一根固定在OA的位置,将另一根先转动到OB的位置,然后再按照顺时针方向或逆时

终边相同的角有无限多个,它们所组成的集合为

角终边相同的角的集合是 说明写出终边在y轴上的角的集合.

浮点数表示法-C语言

浮点数表示法 任何数据在内存中都是以二进制(1或着0)顺序存储的,每一个1或着0被称为1位,而在x86CPU上一个字节是8位。比如一个16位(2字节)的short int型变量的值是1156,那么它的二进制表达就是:00000100 10000100。 由于Intel CPU的架构是Little Endian(请参照计算机原理相关知识),所以它是按字节倒序存储的,那么就应该是这样:10000100 00000100,这就是定点数1156在内存中的结构。 对于一个数0x1122 使用Little Endian方式时,低字节存储0x22,高字节存储0x11 而使用Big Endian方式时, 低字节存储0x11, 高字节存储0x22 浮点数是如何存储的呢?目前已知的所有的C/C++编译器都是按照IEEE(国际电子电器工程师协会)制定的IEEE 浮点数表示法来进行运算的。这种结构是一种科学表示法,用符号(正或负)、指数和尾数来表示,底数被确定为2,也就是说是把一个浮点数表示为尾数乘以2的指数次方再加上符号。 下面来看一下具体的float的规格: float:32位,4字节 由最高到最低位分别是第31、30、29、 0 31位是符号位,1表示该数为负,0反之。 30-23位,一共8位是指数位。 22-0位,一共23位是尾数位。 每8位分为一组,分成4组,分别是A组、B组、C组、D组。 每一组是一个字节,在内存中逆序存储,即:DCBA 我们先不考虑逆序存储的问题,所以先按照顺序的来讲,最后再把他们翻过来就行了。 现在让我们按照IEEE浮点数表示法,一步步将float型浮点数123456.0f转换为十六进制代码。 在处理这种不带小数的浮点数时,直接将整数部转化为二进制表示: 1 11100010 01000000也可以这样表示:11110001001000000.0然后将小数点向左移,一 直移到离最高位只有1位,就是最高位的1:1.11100010010000000一共移动了16位,在布耳运算中小数点每向左移一位就等于在以2为底的科学计算法表示中指数+1,所以原数就等于这样:1.11100010010000000 * ( 2 ^ 16 )好了,现在我们要的尾数和指数都出来了。显而易见,最高位永远是1,不能把16说成是0016。 所以这个1也保留,删掉。这样尾数的二进制就变成了:11100010010000000最后在尾数的后面补0,一直到补够23位:11100010010000000000000

浮点数1

浮点数在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学记数法。 浮点计算是指浮点数参与的运算,这种运算通常伴随着因为无法精确表示而进行的近似或舍入。 一个浮点数a由两个数m和e来表示:a = m × be。在任意一个这样的系统中,我们选择一个基数b(记数系统的基)和精度p(即使用多少位来存储)。m(即尾数)是形如±d.ddd...ddd的p位数(每一位是一个介于0到b-1之间的整数,包括0和b-1)。如果m的第一位是非0整数,m称作规格化的。有一些描述使用一个单独的符号位(s 代表+或者-)来表示正负,这样m必须是正的。e是指数。 这种设计可以在某个固定长度的存储空间内表示定点数无法表示的更大范围的数。 例如,一个指数范围为±4的4位十进制浮点数可以用来表示43210,4.321或0.0004321,但是没有足够的精度来表示432.123和43212.3(必须近似为432.1和43210)。当然,实际使用的位数通常远大于4。 此外,浮点数表示法通常还包括一些特别的数值:+∞和?∞(正负无穷大)以及NaN('Not a Number')。无穷大用于数太大而无法表示的时候,NaN则指示非法操作或者无法定义的结果。 大部份计算机采用二进制(b=2)的表示方法。位(bit)是衡量浮点数所需存储空间的单位,通常为32位或64位,分别被叫作单精度和双精度。有一些计算机提供更大的浮点数,例如英特尔公司的浮点运算单元Intel8087协处理器(以及其被集成进x86处理器中的后代产品)提供80位长的浮点数,用于存储浮点运算的中间结果。还有一些系统提供128位的浮点数 浮点数的表示 在实际应用中,往往会使用实数,例如下面的一些十进制实数: 179.2356=0.1792356x10^3 0.000000001=0.1x10^8 3155760000=0.215576x10^6 很明显,上述第一个数既有整数也有小数,不能用定点数格式化直接表示,后两个数则可能超出了定点数的表示范围,所以计算机引入了类似与科学表示法来标示实数。 (1)典型的浮点数格式 在机器中,典型的浮点数格式如图所示 浮点数代码由两部分组成:阶码E和尾数M。浮点数真值为: N=+/-(R^E)xM R是阶码的底。在机器中一般规定R为2,4,8或16,与尾数的基数相同。例如尾数为二进制,则R也为2。同一种机器的R值是固定不变的,所以不需要在浮点数代码中表示出来,他是隐含约定的。因此,机器中的浮点数只需表示出阶码和尾数部分。 E是阶码,即指数值,为带符号整数,常用移码或补码表示。 M是尾数,通常是纯小数,常用原码或补码表示。

人教版初一数学上册4.3角的概念与表示

4.3.1 角的概念与表示 江家集镇中学王明亮 教学目标 1.掌握角的两种定义及有关概念; 2.掌握角的四种表示方法; 3.会用含方向角的射线表示方向,会通过测量说出一个点在已知参照点的什么方向上; 4.提高抽象、概括能力及操作实践能力. 教学重点与难点 1.角的两种定义及表示法; 2.会用含方向角的射线表示方向 教学流程设计 教学过程 情景引入

观察:多媒体显示一个角的图形 操作:由学生操作画角的过程. 思考:什么样的图形叫做角,即角的定义是什么? 二.学习新课:角的定义. 1角的定义1角是具有公共端点的两条射线组成的图形. 观察:多媒体演示:秒针在钟面上转动; 操作:学生动手操作:把圆规的两只脚由并在一起到逐渐把一只脚旋转到另一个位置; 思考:在秒针的转动过程中,有没有给我们形成角的形象?那么角又 可以是怎样形成的呢? 2.角的定义2:角由一条射线绕着它的端点旋转到另一个位置所成 的图形,处于初始位置的那条射线叫做角的始边,终止位置的那条射线叫做角的终边. 说明:由学生画出角的过程,来体验角的定义的含义,并且由学生自己用文字语言来概括角的定义,比教师给出定义要有效,同时还能够提高学生的概括、归纳的文字语言的能力.其中,定义1学生较易归纳出来,而定义2可能有些困难,教师可适当作一些提示,例如,是什么线绕着什么作怎样的运动等. 3.角的表示方法: (1).用一个角的符号/,加上三个大写英文字母表示.例如,/ ABC / XYZ.

(2).用一个角的符号加上表示顶点的一个大写字母表示.例如, / A、/ B.

(3) . 用一个角的符号/,加上一个希腊字母表示.例如,/ a 、/B (4) .用一个角的符号/,加上一个数字表示.例如,/ 1、/ 2 四.练习与巩固: (1).分别说出/ ABC / EFG / MON 勺顶点和边. 角 / ABC / EFG / MON 顶点 边 (3).用一个大写字母或一个希腊字母表示图中的角 (4).图中共有( )角,并分别用一个大写字母或三个大写字母 表示 5. 方向角: 观察:上海市的部分地图. 思考:从图中你能说出中山公园在人民广场的什么方向上? (2).用三个大写字母表示下列图形中的角: E D

IEEE_745浮点数标准

标题: 解读IEEE标准754:浮点数表示 一、背景 在IEEE标准754之前,业界并没有一个统一的浮点数标准,相反,很多计算机制造商都设计自己的浮点数规则,以及运算细节。那时,实现的速度和简易性比数字的精确性更受重视。 直到1985年Intel打算为其的8086微处理器引进一种浮点数协处理器的时候,聪明地意识到,作为设计芯片者的电子工程师和固体物理学家们,也许并不能通过数值分析来选择最合理的浮点数二进制格式。于是Intel在请加州大学伯克利分校的 William Kahan教授──最优秀的数值分析家之一来为8087 FPU设计浮点数格式; 而这个家伙又找来两个专家来协助他,于是就有了KCS组合(Kahn, Coonan, and Stone)。他们共同完成了Intel的浮点数格式设计,而且完成地如此出色,以致于IEEE组织决定采用一个非常接近KCS的方案作为IEEE的标准浮点格式。目前,几乎所有计算机都支持该标准,大大改善了科学应用程序的可移植性。 二、表示形式 从表面上看,浮点数也是一串0和1构成的位序列(bit sequence),并不是三头六臂的怪物,更不会咬人。然而IEEE标准从逻辑上用三元组{S,E,M}表示一个数N,如下图所示: N的实际值n由下列式子表示:

其中: ★ n,s,e,m分别为N,S,E,M对应的实际数值,而N,S,E,M仅仅是一串二进制位。 ★ S(sign)表示N的符号位。对应值s满足:n>0时,s=0; n<0时,s=1。 ★ E(exponent)表示N的指数位,位于S和M之间的若干位。对应值e值也可正可负。 ★ M(mantissa)表示N的尾数位,恰好,它位于N末尾。M也叫有效数字位(sinificand)、系数位(coefficient), 甚至被称作“小数”。 三、浮点数格式 IEEE标准754规定了三种浮点数格式:单精度、双精度、扩展精度。前两者正好对应C语言里头的float、double或者FORTRAN里头的real、double精度类型。限于篇幅,本文仅介绍单精度、双精度浮点格式。 ★ 单精度:N共32位,其中S占1位,E占8位,M占23位。 ★ 双精度:N共64位,其中S占1位,E占11位,M占52位。 值得注意的是,M虽然是23位或者52位,但它们只是表示小数点之后的二进制位数,也就是说,假定 M为“010110011...”, 在二进制数值上其实是“.010110011...”。而事实上,标准规定小数点左边还有一个隐含位,这个隐含位通常,哦不,应该说绝大多数情况下是1,那什么情况下是0呢?答案是N

数学本质概念——角

数学本质概念 -角- 纯数四 陈映妤

一、分年细目中的「角」 二、「角」的概念 数学上的角概念和日常生活中所谈到的角,所表示的意义有时是不太一样的。儿童角概念的认知,有其发展的顺序性,先由具体的经验、察觉,渐进发展至抽象概念的理解。以下先就角概念加以阐释,再说明儿童的学习发展特征及指导原则。 1、一般生活中所说的角概念 一般人对角的认识,常是真正角概念的局部:一个角有个线段当作边,两边中夹着一块区域,产生一个尖尖的顶点。此外,常以角的顶点或顶点的邻近区域来描述角,如桌角,墙角,三角形上的角,四边形上的角,.....,等,由于角的形象大都以有限度的对象呈现,因此,角的边也常以线段表示。 2、理想的角概念 从实际经验及数学上的定义,角的意义可分成以下三方面来说明(Michael C.1989): (1)角是一双定出两个方向间的差量之射线。 (2)角是自同一端点射出的两射线围出的一个平面区域。 (3)角是一射线绕其端点旋转一个程度的量。 因此,理想化的角概念,可简单说成是自一点朝两个不同的方向延伸出两条射线的结构,角的边是射线而不是线段(在旋转产生角的情况下,虽然旋转是一种动作,动作停止,其现象即消失,但它有一个起始方向和终止方

向,此二方向可用两条射线来表示),此两射线是制程角的张开活动的限制边界。不论代表此射线的线段长短(此时的长短,只是线段的另一端点的不同而已)如何,均可完成同样的限制活动。 事实上,平面上的有限图形(如多边形)中,并不包含任何角,而只包含了角顶点的邻近区域。构成角顶点的邻近区域线段长度的不同,会使角顶点的邻近区域有所不同。同时,角与角的内部是共生的(二者同时出现),角的两边之张开程度大小,不因为边长的差异而有所不同。 三、专家学者怎么看待「角度」单元内容 (一)心理学家谈儿童「角」的认知概念 1、Piaget的角概念发展阶段论 Piaget和Inhelder(1971)以三个有关角的测量设计来分析儿童角的概念,结果将儿童角的概念发展依年龄分成四个阶段,分别是阶段I(4-5岁)阶段IIA(6岁)此两阶段仅能藉由视觉估测来画图形,无法运用工具测量;阶段IIB(6-7岁)能做长度测量,但不会做角度测量;阶段IIIA(7-9岁),在复制角时,能以直尺维持线段的斜度,但无法觉察角的存在;阶段IIIB(9岁-9岁6个月)利用直角当作参考角,以直线测量的方式,找出斜度和垂直底边的高;阶段IV(大于9岁6个月)能摆脱图形本身的影响,画出补助线和高,能将角的概念普遍化。 2、Vygotsky社会文化互动论 Vygotsky并未真正对儿童角概念进行什么研究,但他提出二个很重要的名词,是在教角概念时必须要思考的问题,一个是自发性的概念(spontaneous concepts),这是一种由下而上,透过具体,每天的生活经验所获得的知识,像「桌角尖尖的,要小心」,便是对角概念所产生的自发性概念;另一个是科学性的概念(scientific concepts),指的是一种抽象,系统化的知识,这种知识,往往经由正式的学校教育来习得,它是一种由上而下的学习,必须藉由文字当中介,例如数学中,角的构成要素是始边、终边、支点和旋转的区域,这种科学性的概念,儿童无法直接看到,必须藉由文字或语言来学习,所以教师教学时,要能从儿童自发性概念,引导到科学性的概念,才能协助儿童对科学概念学习,发展出较高的知觉、抽象和控制的思考能力。 (二)数学家谈「角」的数学内涵 1、Van Hiele的几何思考阶段论 Van Hiele夫妇提出儿童对于几何学习是具有五个不同的思考发展阶段,每个阶段有其不同的特征,若经由适当的教学,学生的经验可从较低阶段的几何思考,到较高阶段的严密性思考,各发展阶段特征如下(朱建正,2002a;

相关主题
文本预览
相关文档 最新文档