66问答网
所有问题
汇编中 机器是怎么识别一个数的正负的
汇编中 机器是怎么识别一个数的正负的,8位的,比如:10000001 如果它是无符号数,那么=129 如果他是有符号数,那么就为-1 我就想问,在机器中机器是怎么识别他们的,怎么区分他们的。
举报该问题
其他回答
第1个回答 2013-12-21
哦,二进制在机器中是通过最高位来表示数字正负的。如果该数字是有符号的,那么最高位如果是1表示负数,如果是0就是正数。而无符号数字所有二进制位都代表数值。这就是你题目中例子的原因了,自己再验证验证吧。
第2个回答 2013-12-21
靠指令区别,如果指令用的是无符号指令,那么CPU就认为10000001 是无符号的,反之则是有符号比如 无符号的乘法 mul有符号的乘法 imul
相似回答
汇编中
机器是怎么识别一个数的正负的
答:
靠指令区别
,如果指令用的是无符号指令,那么CPU就认为10000001 是无符号的,反之则是有符号比如 无符号的乘法 mul有符号的乘法 imul
汇编
语言
怎么
实现判断
一个数
是正数还是
负数
答:
SHL AL, 1;
把最高位移进CF符号位 JC (负数处理区标号);如果溢出位是1,说明最高位是1,是负数,否则是正数
(正数处理语句区)即使待判断的数是一个长达1G字节的大数,你也只需要
把最高位的那一个字节移到AL里
,然后执行上面的两行程序就可作出判断。
如何
判断符号
数字的正负
?
答:
1、确定数据类型,是有几个字节构成。
2、判断最高位是1还是0,如果是1,那么该数为负,如果为0,那么该数为正
。以51单片机汇编为例,比如一个符号数存在32H31H30H中,32H为高位,那么判断该数正负程序如下:CHKZF:MOV A,32H ;取最高字节 JB ACC.7,DATF ;判断最高位 CLR C ;最...
怎么
用
汇编
语言判断
数的正负
?在8051中
答:
比如该数在A累加器中,我们可以通过 左大循环指令 RLC A 将
数的
最高位即符号位送入Cy(进位标志位) 用 JNC(进位标志位不为0跳转)指令进行判断
汇编
语言
中怎样
判别16进制
数的正负
答:
基本的方法是判断最高位,如果是
1
表示负值 test ax,8000h jz zheng //运行到这边是
负数
jmp other zheng://跳转到这里是正数
汇编的
寄存器可以保存
负数
吗? 取
一个数的
绝对值是什么原理?
答:
正负只是人为的规定。以8位为例,最高位为
1
,若看为有符号数就是负数。数值在
机器
中均以补码形式存放,
负数的
补码是将其绝对值的原码,取反,再加1.那么求其绝对值,就是逆向过程,先减1,得其取反后的绝对值原码;再取反,得其绝对值。好好看下补码相关知识。
大家正在搜
汇编指令是机器指令的什么
机器怎么识别代码
不同机器汇编指令一样吗
汇编指令和机器指令的关系
汇编指令对应的机器码
不被机器识别的文字
什么是汇编
汇编机器码
机器语言转汇编