鱼C论坛

 找回密码
 立即注册
查看: 11218|回复: 12

求大神解释计算机如何区分一个二进制数是正数还是负数

[复制链接]
发表于 2012-8-30 08:26:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
有符号二进制数第一位表示正负,但是计算机通过什么机制来识别他是一个正数还是负数,是通过硬件完成,还是程序员通过软件来实现,求大神帮助啊~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-8-30 08:54:05 | 显示全部楼层
大神们求解答啊~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-8-30 10:25:46 | 显示全部楼层
路人飘过……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-8-31 14:49:36 | 显示全部楼层
众多大神难道就不能解决这么个小小的问题么,求解答啊~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-8-31 15:23:17 | 显示全部楼层
硬件完成的,有一个标志寄存器, 计算机很多东西 都是靠标志寄存器区分的 像正负、大小、还有很多判断
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-8-31 21:55:16 | 显示全部楼层

你说的是符号标志寄存器吧,但是他是用来存放运算结果的啊,在开始运算的时候计算机是如何识别的呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-9-1 00:04:47 | 显示全部楼层
一个二进制数既可以当做有符号数亦可当做无符号数来运算,不管我们如何看待,计算机在执行比如add指令时,就已经包含了两种含义,也将得到同一信息记录的两种结果。关键在于我们的程序需要哪一种结果。
去看看补码你就明白了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-9-1 00:05:44 | 显示全部楼层
by the way, I am NOT 大神!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-9-1 21:19:45 | 显示全部楼层
Seandor 发表于 2012-9-1 00:05
by the way, I am NOT 大神!!!

小弟对计算机内部运行机制了解甚少,感谢“ NOT 大神”的指导,o(∩_∩)o
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-9-3 18:30:50 | 显示全部楼层
不过,楼主是男孩子吧,咋在美眉求助区发帖啊?有点~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-9-4 06:45:10 | 显示全部楼层
001 发表于 2012-9-3 18:30
不过,楼主是男孩子吧,咋在美眉求助区发帖啊?有点~

初来乍到,只发现这一个求助区,不过人多啊,噱头高啊,哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-9-6 09:08:34 | 显示全部楼层
首先你必须明白,计算机内部在表示数据时都是用补码形式(以前也有那种用反码来表示数据的机器,但现在的机器几乎都是以补码表示数据),关键是计算机本身是不区正数、负数!它仅仅知道那是一堆二进制,对于算术指令,都是通过位级的操作(左移,逻辑右移,算术右移)来实现的,为什么要用补码呢?因为补码既可以表示正数,也可以表示负数,而且在操作有符号数和无符号数时,底层位级别的实现都是相同的,这需要数学公式的推导,在这里我就不说了,再回到你的问题:计算机仅仅知道那是一堆二进制,你的程序告诉计算机要把它解析为一个有符号数,那计算机就按照有符号数的编码方式来解析,无符号数就按照无符号数的编码方式来解析,浮点数就按照浮点数的编码方式来解析。另外我们在汇编中从来没有遇到过这种问题吧!这也就印证了用补码表示数据时,对于有符号数或者无符号数,底层的位级操作是一样的,也说明了,这是高级语言对底层语言的一种封装!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-9-7 06:24:23 | 显示全部楼层
楚门 发表于 2012-9-6 09:08
首先你必须明白,计算机内部在表示数据时都是用补码形式(以前也有那种用反码来表示数据的机器,但现在的机 ...

经典,非常感谢!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 20:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表