|
主题 : : 为什么定义16进制数前面要加0? [已解决] |
回复[ 11次 ]
点击[ 351次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2009-12-24 13:40 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:20
注册日期:2009-10-19 12:21 |
定义a9h的时候前面要加0 ,定义数字9ah前面又不用加0 为什么要这样??? | | |
|
|
|
|
[第1楼]
[ 回复时间:2009-12-24 17:42 ]
[引用]
[回复]
[ top ] | |
荣誉值:307
信誉值:0
注册日期:2009-03-15 23:46 |
是为了有别于汇编语言的标识符(标号或符号名)。比如:
FH DB ?
CDH: ...
loop CDH
上述“FH”和“CDH”分别是合法的“变量名(符号名的一种)”和“标号”,如果最高位为 A~F 的 16 进制数不前缀 0 ,就很难和符号名和标号分开。 | | |
|
|
|
|
[第2楼]
[ 回复时间:2009-12-24 22:03 ]
[引用]
[回复]
[ top ] | |
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51 |
|
|
|
|
|
[第3楼]
[ 回复时间:2009-12-24 22:15 ]
[引用]
[回复]
[ top ] | |
荣誉值:307
信誉值:0
注册日期:2009-03-15 23:46 |
|
|
|
|
|
[第4楼]
[ 回复时间:2009-12-25 10:17 ]
[引用]
[回复]
[ top ] | |
荣誉值:12
信誉值:0
注册日期:2009-02-14 14:25 |
这个编译器要求的,就象其它一些语言规定的一样定义变量的时候不能以数字开头。不过你这个问题也不难理解,加零编译器就认为是数字,如果不加可能会以为是字符串之类的,所以加了零不会有岐义,看起来更严谨一点。 | | |
|
|
|
|
[第5楼]
[ 回复时间:2009-12-25 10:27 ]
[引用]
[回复]
[ top ] | |
荣誉值:337
信誉值:0
注册日期:2008-01-01 17:48 |
这个是汇编语法的一个设计。
比如下面这个:
ah
一,可以解释为寄存器ah
二,可以解释为十六进制数字a。
二义性的表达需要一个办法解决,数字中含字母的,在前面加0就是一个解决办法。0ah代表数字a,ah则为寄存器。 | | |
|
|
|
|
[第6楼]
[ 回复时间:2009-12-25 10:40 ]
[引用]
[回复]
[ top ] | |
荣誉值:307
信誉值:0
注册日期:2009-03-15 23:46 |
|
|
|
|
|
[第7楼]
[ 回复时间:2009-12-25 22:31 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:20
注册日期:2009-10-19 12:21 |
那为什么在把八位的扩展成16位的时候,有的是前面直接加两个0,有的又是加0FF??? | | |
|
|
|
|
[第8楼]
[ 回复时间:2009-12-25 22:32 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:20
注册日期:2009-10-19 12:21 |
这个是汇编语法的一个设计。
比如下面这个:
ah
一,可以解释为寄存器ah
二,可以解释为十六进制数字a。
二义性的表达需要一个办法解决,数字中含字母的,在前面加0就是一个解决办法。0ah代表数字a,ah则为寄存器。
------------------
回复:那为什么在把八位的扩展成16位的时候,有的是前面直接加两个0,有的又是加0FF??? | | |
|
|
|
|
[第9楼]
[ 回复时间:2009-12-25 22:33 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:20
注册日期:2009-10-19 12:21 |
是为了有别于汇编语言的标识符(标号或符号名)。比如:
FH DB ?
CDH: ...
loop CDH
上述“FH”和“CDH”分别是合法的“变量名(符号名的一种)”和“标号”,如果最高位为 A~F 的 16 进制数不前缀 0 ,就很难和符号名和标号分开。
------------------
回复:那为什么在把八位的扩展成16位的时候,有的是前面直接加两个0,有的又是加0FF??? | | |
|
|
|
|
[第10楼]
[ 回复时间:2009-12-25 22:41 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:20
注册日期:2009-10-19 12:21 |
噢,全懂了。。。。。thanks!!!楼上的朋友们 | | |
|
|
|
|
[第11楼]
[ 回复时间:2009-12-25 22:43 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:20
注册日期:2009-10-19 12:21 |
此贴由 贴主 于 [ 2009-12-25 22:43 ] 结贴。 结贴原因:问题已解决 | | |