【NB】和我一起学汇编之原码反码补码

优选教程   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2022-5-11

书接上回,上次讲了有符号数正数的编码规则,这回我们说有符号数负数的编码规则。

在说这之前我们要先明白原码反码和补码

负数的编码规则(负数是按补码存储的)

原码:最高位为符号位,其余各位为这个数本身的绝对值

反码:正数的反码与原码相同
负数:符号位为1,其余为对原码取反

补码:正数的补码与原码也相同
负数 符号数为1,其余位对原码取反,再加1

例如//8bit举例
1 原码/反码/补码00000001


这里看到图中的数据为01.这个01是十六进制,那么转为二进制就是00000001 相符。(6也同理)

6 原码/反码/补码00000110

-1 原码10000001 反码11111110 补码11111111


这里看到内存中为FF,转为二进制就是11111111

-7 原码10000111 反码11111000 补码11111001
这里得到是F9 即为111111001


那么我们怎么知道多少以内是正数,多少以内是负数呢?



具体看这个图(一字节8bit举例,别的单位同理),当存储的是无符号数是,可以存00到FF
当存储的是有符号数时,00到7F是正数,80到FF为负数

就比如是一个doubleword(双字,32bit)
那么就是00000000到7FFFFFFF是正数,80000000到FFFFFFFF是负数

好了今天的就到这里[爱心][爱心][爱心]

沙发
HR阿隐 2022-5-11
凉了[泪][泪]
虽然想学但是看不懂
地板
HR阿隐 2022-5-11
这就是进制的知识[泪]很枯燥,看书本更枯燥,到后面就好了
问题看不懂[黑线]
5楼
HR阿隐 2022-5-11
就是000111的转换哈哈哈哈,明天我发一个进制的帖子
6楼
NB灵帝 2022-5-13
看我收藏第一,有记录贴,记得提交[心碎]
7楼
HR阿隐 2022-5-13
okokok
8楼
噬心 2022-5-13
问题看不懂[黑线]
9楼
HR阿隐 2022-5-13
就是编码嘛,编码规则都写了[爱心]只不过是译二进制形式编码
10楼
归零丶者 2022-5-14
这是汇编???确定不是C??

评论

登录后才可发表内容
  • 主题

    24

  • 帖子

    203

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.2953s Mem:2067Kb