首页 > 代码库 > 呵呵我的手指能够数1024个数,你们都辣鸡了~

呵呵我的手指能够数1024个数,你们都辣鸡了~

  同学们大家好!今天,老师教大家如何用手指头数数。

  十根手指只能表示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啊魂淡!!数到这些数的同学都给我面壁去!)

呵呵我的手指能够数1024个数,你们都辣鸡了~