【转载】小学老师骗了多少人一辈子。。谁说10根手指表示10个数。。小吴老师教你正确的用手指数数的方法!

来源:互联网 发布:linux定时器crontab 编辑:程序博客网 时间:2024/04/30 06:14

源地址不详,间接转自:http://blog.acmol.com/binary-fingers.acmol


小学老师骗了多少人一辈子。。谁说10根手指表示10个数。。小吴老师教你正确的用手指数数的方法!

小朋友们大家好!

今天,小吴老师教大家如何用手指头数数。

十根手指只能表示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+1,2^9-1]

4、用左手大指做符号位,其余九根手指用补码表示定点整数的话,取值范围是[-2^9,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啊魂淡!!数到这些数的小朋友都给我面壁去!)