755593051 发表于 2015-11-9 06:51:43

新人求教存储问题


8:          double score = {1, 100,10, 20, 30, 40, 50, 92, 93, 94}, result;
0040103E   mov         dword ptr ,0
00401045   mov         dword ptr ,      3FF00000h:这个为什么表示十进制的1??
0040104C   mov         dword ptr ,0
00401053   mov         dword ptr       ,40590000h:这个为什么表示十进制的100??

ryxcaixia 发表于 2015-11-9 06:51:44

本帖最后由 ryxcaixia 于 2015-11-9 09:04 编辑

对于double类型来说
内部编译器采取的是科学记数法
换句话说 他并不像int 那种 0x10h表示16 0xff 表示255
由于double的存储结构 是采取的科学计数法那这样某一位代表的并不是2的多少次方
除了double的第63位(最高位)代表符号位
第62到第51代表指数位
剩下的代表尾数部分

具体的可以参见唐朔飞老太太的计算机组成原理或者大学计算机概论 这里面肯定都有具体讲
页: [1]
查看完整版本: 新人求教存储问题