惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
D
Docker
月光博客
月光博客
MongoDB | Blog
MongoDB | Blog
Vercel News
Vercel News
美团技术团队
博客园 - 叶小钗
I
InfoQ
Jina AI
Jina AI
博客园 - 司徒正美
雷峰网
雷峰网
B
Blog
Y
Y Combinator Blog
A
About on SuperTechFans
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
Microsoft Security Blog
Microsoft Security Blog
Stack Overflow Blog
Stack Overflow Blog
腾讯CDC
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Recent Announcements
Recent Announcements
V
V2EX
N
Netflix TechBlog - Medium

博客园 - wxf0701

Java之classpath Http之Get/Post请求区别 Java之细节 Java之Collection Framework Java之类加载机制 Java之switch语句 Java关键字之native,strictfp,transient,volatile ORACLE大数据量下的分页解决方法 Java中堆与栈的区别 Servlet的生命周期 JSP的动作指令 Java二进制兼容性原理 Java源文件的编译、下载、解释和执行 61条面向对象设计的经验 面向对象的设计法则(4)——Liskov替换法则(LSP) 面向对象的设计法则(3)——开放-封闭法则(OCP) 面向对象的设计法则(2)——针对接口编程,而非(接口的)实现 面向对象的设计法则(1)——优先使用(对象)组合,而非(类)继承 抽象类和接口
补码和原码的转化过程
wxf0701 · 2008-08-14 · via 博客园 - wxf0701

补码和原码的转化过程

在计算机系统中,数值一律用补码来表示(存储)。
主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补
码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。
补码与原码的转换过程几乎是相同的。
数值的补码表示也分两种情况:
(1)正数的补码:与原码相同。
      例如,+9的补码是00001001。
(2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。
      例如,-7的补码:因为是负数,则符号位为“1”,整个为10000111;其余7位为-7的绝对值+7的原码
     0000111按位取反为1111000;再加1,所以-7的补码是11111001。
已知一个数的补码,求原码的操作分两种情况:
(1)如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码。
(2)如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各位取反,然后再整个数加1。
     例如,已知一个补码为11111001,则原码是10000111(-7):因为符号位为“1”,表示是一个负数,所以该位不变,仍为   “1”;其余7位1111001取反后为0000110;再加1,所以是10000111。

posted on 2008-08-14 11:02  wxf0701  阅读(37770)  评论()    收藏  举报