2013-09-08 伟的学习笔记
为什么补码要加1
补码加1 再加原码等于 1000 0000 ,如果不加1的话,那么补码加原码等于0111 1111 这样只要负数的加减不超过0还是一样行的通 能算,但是不加1的情况下,比如-10补码变成1111 0101 那-10加10的话 变成1111 1111 结果是-0 行得通 但是到-10加11的时候结果还是0 问题就开始出现了 关键就是1000 0000这个数既代表0同时又代表一次正负号的切换 而正负号的切换正好是从0开始 ,而不加1情况下 补码加原码等于0111 1111是已经等于0 后面再加到切换正负号时 又一次等于0 等于这条函数图 不是连贯 是有重叠的
正负浮点数,除了符号位,其他位都一样的。
---------------------------------------------------------------------------------------------
+-+----------+---------------------------------
0 10000001 00000000000000000000000
--------------------------------------------------
第一部分是符号位,第二部分是指数部分,第三部分是尾数部分
0 10000001 00000000000000000000000
--------------------------------------------------
第一部分是符号位,第二部分是指数部分,第三部分是尾数部分
指数部分 10000001 =》 十进制 129 实际上存储指数部分的时候有进行一次叫做移位(指数也有正负之分) ,他在保存成二进制的时候有进行一次+127的动作,所以我们在从二进制还原回来的时候就要减去127 ,所以指数部分是2
那个尾数部分位00000000000000000000,因为规定尾数的整数部分恒位1,所以实际上的尾数部分位1.000000000000000000000,
然后与指数部分进行移位,往右移动2两位变成100.00000000000 实际上就是4了。