已然就位 发表于 2017-9-27 08:40:33

有点混乱,这是王爽老师的那个公司收入的那个程序。甲鱼老师说很重要

图1图2是我问题的主要源程序。我的问题可能我自己有点混乱,2byte=1b(word)。1byte=8位。那么图1中的第二行定义dd是双字,也就是4byte。也就是32位,但是我发现,第二行的数据最大5937000。也就七位。为什么要用dd。这个问题有点蠢。我知道肯定不是七位,但是我点混乱了。想理理清楚。望大腿们,帮我理一下,其他问题也没有,这个程序还能理解。

丶忘却的年少o 发表于 2017-9-27 09:56:35

遇到进制不懂就打开计算器:
5937000 = 101 1010 1001 0111 0110 1000 b是3个字节,dd是2个字节,放不下的,没有3个字节的单位,所以用dd的4个字节。

weizhongyang 发表于 2017-9-27 10:16:13

因为593700 > 65535(2个字=16位), 所以不用用dw
又因为没有3个字节的定义,但有4个字节的dd定义,
所以就用dd来定义,存储的数据就可以大于最大需存储的593700了
页: [1]
查看完整版本: 有点混乱,这是王爽老师的那个公司收入的那个程序。甲鱼老师说很重要