我正在研究一种包含Z80双字节指针转换器的专业十六进制编辑器。
转换背后的数学是这样的:
&H4000
- &H7FFF
,则必须按照以下方式进行转换:(offset % &H4000) + &H4000
。换一种说法:
&H0000
到&H3FFF
,请将&H4000
添加到偏移量。&H4000
到&H7FFF
,请不要对偏移做任何事情。&H8000
到&HBFFF
,则从偏移量中减去&H4000
。&HC000
到&HFFFF
,则从偏移量中减去&H8000
。我的问题是我不知道如何将5位或6位十六进制偏移量转换为两位数的偏移量。如何在开始时削减额外的字节(第二步)?
答案 0 :(得分:4)
使用“remainder”运算符,在Visual Basic中拼写为Mod
:
offset Mod &H10000
答案 1 :(得分:3)
使用'Mod'运算符的答案是正确的。
但是,要迂腐,这是一个'模数'运算符,而不是'余数'运算符。负数存在差异。 (我很欣赏我们不是在谈论负数。)