五度的博客

看远方的梧桐叶~ 思恋从前的我!

SF符号位什么时候为1,什么时候为0!二进制如何判断符号位正负!

首先让我们看一下SF到底是什么?

SF(sign flag)符号位:当运算结果为负时,SF置1,记为NG(negative),为正时清零记为NZ(Non Zero).

那么我看这段说明简直就是一点用处也没用对不对?我们也知道SF是符号位,也知道他是判断数值正负,那么究竟该如何判断正负呢?

 

看看符号位数字化:

机器数的另一个特点就是符号位数字化。我们把最高位定义为符号位,符号位为0,该数为正;符号位为1,该数为负。

首先我列出4个二进制:1、10101111  2、1011001  3、110010011  4、110011

 好的,我们来根据例子来分析:

第一个:最高位是1,所以他是负数、

第二个只有七位,这是因为前面是一个0.所以他是正数。

第三个:有9位,那么再16位调试环境下就是进位的操作了,那么还是得从第八位看,还是正数

第四个:只有6位,那么在前面加2个0,所以还是0、 是正数。

 

当然,机器中并不是遇到第八位的就是负值,也要分有符号位和无符号位

 

下一篇文章我们开始介绍无符号位和有有符号位

本文章转自五度博客:http://blog.jsx8.com

posted on 2012-02-29 11:25  五度  阅读(4038)  评论(0编辑  收藏  举报

导航