同学们大家好!今天,老师教大家如何用手指头数数。
十根手指只能表示10个数?从一年级我就知道这是扯淡。因为如果从0开始数,数到10,一共11个数。
然而仅仅教你们从0数到10仍然不是一个好老师。
今天老师要教给大家的是用每根手指的蜷、伸分别表示0、1来数数的方法。
首先,同学们给我回家自学二进制数的相关姿势以及原码、反码、补码、移码、定点数、浮点数的姿势。( 嘿嘿嘿~ )
恩。相信大家已经掌握了这些姿势。
那么我们现在就开始拿出手指头开始数数。
0、十根手指可以表示的无符号整数的范围是[0,1023],全给我数一遍!
1、用左手大指做符号位,其余九根手指用原码表示定点小数的话,取值范围是[-1+2^-9, 1-2^-9]
2、用左手大指做符号位,其余九根手指用补码表示定点小数的话,取值范围是[-1,1-2^-9]
3、用左手大指做符号位,其余九根手指用原码表示定点整数的话,取值范围是[-2^9,2^9-1]
4、用左手大指做符号位,其余九根手指用补码表示定点整数的话,取值范围是[-2^9+1,2^9-1]
5、如果用十个手指头表示浮点数,规定阶码j根手指(包含一根手指表示阶符),尾数s根手指(包含一根手指表示数符),那么:
a.当采用阶原尾原非规格化数时,正数的表示范围为[2^-(s-1)*2^(2^-(2^(j-1))),2^(2^(j-1))*(1-2^-(s-1))]
负数的表示范围为[-2^(2^(j-1))*(1-2^-(s-1)),2^(-2^(j-1))*(-2^-(s-1))]
b.当采用阶移尾原非规格化数时,正数的表示范围为[2^-(s-1)*2^(2^-(2^j)),2^(2^(j-1))*(1-2^-(s-1))]
负数的表示范围为[-2^(2^j)*(1-2^-(s-1)),2^(-2^(j-1))*(-2^-(s-1))]
6、如果用十个手指头表示浮点数,规定阶码j根手指(包含一根手指表示阶符),尾数s根手指(包含一根手指表示数符),那么采用补码规格化形式表示数时,正数的表示范围为 [2^-1*2^(2^-(2^j)),2^(2^(j-1))*(1-2^-(s-1))]
负数的表示范围为[2^(2^(j-1))*(-1),-2^(-2^j)*(2^-1+2^-(s-1))]
今天老师给大家留的课堂作业是:请问综合上述7种表示方法,10根手指一共可以表示多少个数?
回家作业:请同学们回家自学IEEE 754标准,下课后4个同学分为一组,用手指头数至C6801600H。
下节课我们要讲如何用手指头进行定点、浮点加减乘除运算。请同学们预习《计算机组成原理》第三篇中央处理器第六章计算机的运行方法。
(喂!不许一直练4和128和132啊魂淡!!数到这些数的同学都给我面壁去!)