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

推荐订阅源

博客园 - 叶小钗
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
雷峰网
雷峰网
GbyAI
GbyAI
Hugging Face - Blog
Hugging Face - Blog
N
Netflix TechBlog - Medium
博客园 - 聂微东
Y
Y Combinator Blog
罗磊的独立博客
博客园_首页
小众软件
小众软件
有赞技术团队
有赞技术团队
爱范儿
爱范儿
F
Fortinet All Blogs
C
Check Point Blog
Google DeepMind News
Google DeepMind News
云风的 BLOG
云风的 BLOG
Apple Machine Learning Research
Apple Machine Learning Research
M
MIT News - Artificial intelligence
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
aimingoo的专栏
aimingoo的专栏

博客园 - 咨询之路

Clustering 传统聚类分析(一) 基本顺序类表 英特尔的高效能管理法 英特尔公司 顺序查找和折半查找 常见算法复杂度 算法性能评价 数的群体分类 类的基本点(二) 类的基本点(一) 经典的统计保留字算法 C++语言中学思想(二) C++语言中学思想(一) C语言中学思想(二) 事半功倍的麦肯锡工作方法[ZZ] 职场男人时尚服饰的选择 C语言中学思想(一) 哥特式建筑
为什么数在内存中要以补码表示[ZZ]
咨询之路 · 2006-05-07 · via 博客园 - 咨询之路

保证0的唯一性。  
让加减可以统一处理。  
举例:10在内存的中表示(以8位二进制为例)  
补码:00001010  就是这个数转成二进制后的本身。  
-10在内存中的表示:  
补码:11110110  (就是把10的二进制码取反加一)  
同理+0在内存中:00000000  
-0在内存中=11111111+1=100000000取八位00000000  
也就是说+0和-0有同样的表示。  
做加减法也就可以一致了:  
3+4=00000011+00000100=00000111=7  
3-4=3+(-4)=00000011+11111100=11111111    
11111111取反加一等于1,所以11111111就是-1  
这么说可能还不很清楚,你还是去看看相关的理论书籍吧,可以看《计算机组成原理》。大二应该要学的。  
推荐你阅读Charel  Petzold的《编码的奥秘》一书,写深入浅出,讲述了很多有关计算机的最基本理论和数字电路的一些基本知识,我觉得给大一的学生看最合适了。  
00000000减1应该等于11111111  
   00000000-1  
=  00000000  +  (-1)  
=  00000000  +  11111111  
=  11111111  
为什么-1的补码是11111111  
因为补码就是“取反加一”。1是00000001,取反11111110,加一11111111