- [游客] 说的不错,但是现在国人能有多少个学习这个的时候还能有开拓视野的想法。。。 04/08 09:13
- [scuzg] 0fch展开成二进制数: 11111100,其中最高位是符号位,所以: 7ch+4=80h=12 12/20 19:05
- [842460904] 理论是应该负数原码和补码数值之和等于128,可为什么。fc和它的补码-4相加,即252+(-4)=? 09/03 23:38
- [fpamc] 顶顶…… 05/25 09:49
- [scuzg] 20位,图中有说明。 12/29 15:45
- [scuzg] 表示8位二进制数的16进制数fdh,因高位是f,所以前面前缀0以区别于标识符,也就是说,当对应8位二 12/29 15:42
- [powerofthinking] 博主的文章不错,希望再多写几篇。 12/18 13:40
- [游客] 请问0fdh为什么不是0000 1111 1101 b ?如果最高位视为符号位,它就是一个带符号数, 12/17 23:08
- [游客] 请问scuzg老师,地址加法器是多少位的啊(物理连接结构)?寄存器是16位,地址线20位,地址加法器 12/17 23:02
- [游客] 地址译码逻辑是不是应该在CPU内部啊? 我也觉得文章有点问题,还有就是看了scuzg老师很多文章, 12/17 22:59
- [qqqun238564439] 厉害 04/10 10:57
- [suixin] 少了个你,呵呵 “看着你的回答真长见识” 12/01 09:31
- [suixin] 看着的回答真长见识 12/01 09:29
- [fangorc] 先弄个友情链接,老师这的好东西太多了,慢慢消化~ 08/07 22:03
- [zdpopup] 谢谢scuzg 的宝贵意见,我看了2次你的话 08/05 01:43
- [游客] 过来踩踩。哈哈!端他爸 08/03 11:28
[2010-07-02 09:38] 怎样“区分”带符号数和无符号数?
比如0fdh,如果将最高位视为有效数位,则0fdh就是无符号数,即253;如果最高位视为符号位,它就是一个带符号数,并且是个负数;而在计算机内部,负数都用补码表示,所以将0fdh看作负数时,它就是某个负数的补码:
0fdh=11111101b
将其按数值位“各位取反、末位加1”的法则转换成原码则是:
10000011b
这就是0fdh的原码-3。
又如:
03h
看成无符号数和带符号数都是 3,但无符号数的最高位是数值位,可以接收来自低位的进位或直接记录数值,而带符号数的最高位用于表示符号,不能接收来自数值位的进位或记录数值,如果计算时数字位向最高位进位,就超出了带符号数的表示范围,发生溢出了。
当 CPU 处理一个二进制数时,其实也弄不清楚这个数是有符号还是无符号数;由于引入了补码,使得加减计算的指令对有符号数和无符号数的处理是一样的,所以在进行加减运算时, CPU 将运算结果作为有符号数和无符号数对符号位的影响都“罗列”出来了,供编程者根据需要使用。
[ 游客 发表于 2010-07-05 18:52 ]
恩。非常有道理。
顶。。
[ thedaydreamwang 发表于 2010-07-08 03:03 ]
有空把单精度的表示方法给我们讲下谢谢了!!感觉百度写的很不详细!!好久不见了哈!!
[ 游客 发表于 2010-11-07 20:24 ]
张老师,大神啊!
[ nbaqqqq 发表于 2011-04-07 18:12 ]
大概懂了,谢谢张老师。
[ ameteur 发表于 2011-10-09 17:28 ]
楼上,感谢你让我知道博主是一位老师.
我是一名业余爱好者,刚学汇编不久,以前学过两天VB,但由于网上的VB视频教程停止更新,也没有学到什么样,希望张老师能给我个学习意见.
[ 游客 发表于 2011-12-17 23:08 ]
请问0fdh为什么不是0000 1111 1101 b ?如果最高位视为符号位,它就是一个带符号数,并且是个负数,最高位不是0?难道符号位都是 7、15、23...来判断?
[ scuzg 发表于 2011-12-29 15:42 ]
表示8位二进制数的16进制数fdh,因高位是f,所以前面前缀0以区别于标识符,也就是说,当对应8位二进制数的16进制数高位数a~f时,都须前缀0。