什么是无符号数和有符号数完全没搞懂
我已经晕了 这个地方我学了6遍。当时没学懂没关系,继续往后,后面用到的时候结合问题再回来看,只要有耐心就一定搞的懂。呵呵。后面标志寄存器也是个重点,我也挠头了很久。 啥意思啊 还是不懂 要是在这个方面没有搞懂的话可以看看中山大学的视频那面有点详细讲解在前4级里面就有讲到这个 你想他有符号就有符号呀,想让它有符号,就看两个,一个是看标志位,一个是看标致寄存器 有同感啊还得继续学习啊 迷茫中。。 无论是无符号数还是有符号数,CPU都是统一处理的。那么哥们可能就有疑问了,既然统一处理,但结果一个是有符号数,一个是无符号数,肯定并不一样啊,那不是自相矛盾吗?!
我觉得每个刚开始学习的朋友都会有这样的问题的~
所以我们引进了补码这个概念,当我们把一个数当成有符号数的时候,这个数用补码来表示,这样有符号数的负数形式和无符号数的值并不冲突~
例如11111110B这个数,当他是有符号数的时候他的值是取补码(方法:按位取反+1)等于-2,但是当他是无符号数的时候他是254。
那好,我们同样来发生运算关系:把它+1,那+1之后的值无论如何二进制形式就是11111111B对吧?
是这样就好解释了,11111111B把它当有符号数时候,取补码的值是-1,当他是无符号数的时候是255,这样,都是11111111B,但他同时能够表示有符号数和无符号数两个截然不同的值,所以说,补码,神马,都是浮云~{:5_107:}
这个问题还有疑问的朋友请继续回复讨论~ {:2_25:}YYYYY 本帖最后由 dugwei 于 2014-2-14 13:37 编辑
小甲鱼 发表于 2011-3-25 14:57 static/image/common/back.gif
无论是无符号数还是有符号数,CPU都是统一处理的。
那么哥们可能就有疑问了,既然统一处理,但结果一个是 ...
请问老师,图中划横线的地方如何理解?1的补码怎么和1的原码一样呢?我认为1的补码应该是原码取反后加1才对啊。请老师解惑,谢谢!
哈哈,什么是符号?
符号就是用来表示一个数的正负。
无符号的变量可以容纳下的最大数值是有符号可以容纳最大数值的 2倍,我就是这样理解的,, dugwei 发表于 2014-2-14 13:29 static/image/common/back.gif
请问老师,图中划横线的地方如何理解?1的补码怎么和1的原码一样呢?我认为1的补码应该是原码取反后加 ...
1的原码是:00000001b,取反后是:11111110b,加1后是11111111b,书里是要这么表达的。
页:
[1]