Charles Petzold《Code》----2017.1.22 读13章(非常聪明!)
来源:互联网 发布:js json数据格式转换 编辑:程序博客网 时间:2024/05/22 15:21
注:所有笔记均为自己的理解总结,可能并非书本原文,对错不予负责。
摘要:向我们介绍了计算机如何做减法运算。其中介绍了以下几个概念:9的补数或补码、1的补数(相反码、反码)、求补器、10的补数、2的补数。
不使用借位进行减法的两种方法:
1、当被减数大于减数时:
例如:
125-25,
可以转化为
(999-25)+1+125-1000。
其中999-25就是25的9的补数或补码。
2、当被减数小于减数时:
例如:
25-125,
可以转化为
999-(999-125+25),对结果再取一个相反数即可。
以上也可应用于二进制,然后相对应的就称为1的补数。1的补数就是原来的0变成1,1变成0,所以,1的补数有时也称为相反数或反码。
求补器:
计算机如何做减法:
其实就是在做加法,只是将负数也用正数(负数的10的补数或2的补数)来表示。
十进制:
我们用0~999的数来表示-500~499:
一个负数的10的补数可以这样计算:负数相反数的9的补数再加1。
例:
1、143-78,-78的10的补数是999-78+1=922,再加上143,等于1065,忽略上溢,取后三位,就是65。
2、65-150,-150的10的补数是999-150+1=850,再加上65,等于915,915其实就是-85。
二进制:
可以表示的数的范围从-128~127。最左边的一位称为符号位,1表示负数,0表示正数。
例:
124-125,
124是01111100,
125是01111101,
-125的2的补数就是01111101取反再加1,是10000011。要回到原来的数只需同样的操作:取反后加1。
所以124-125就是01111100+10000011,结果是11111111,其实就是-1。
不生效的情况:
有符号的二进制数和无符号的二进制数:
- Charles Petzold《Code》----2017.1.22 读13章(非常聪明!)
- Charles Petzold《Code》----2017.1.13 读12章
- Charles Petzold《Code》----2017.1.6 读10章(非常精彩!)
- Charles Petzold《Code》----2017.1.3 读第4章
- Charles Petzold《Code》----2017.1.3 读5章
- Charles Petzold《Code》----2017.1.4 读6章
- Charles Petzold《Code》----2017.1.5 读7章
- Charles Petzold《Code》----2017.1.5 读8章
- Charles Petzold《Code》----2017.1.5 读9章
- Charles Petzold《Code》----2017.1.9 读11章(非常重要!)
- Charles Petzold《Code》----2016.12.28 读1~3章
- Programming Windows by Charles Petzold (bigtoog翻译)
- C( ++ ,sharp ) Programming.Windows[Charles.Petzold]
- <<windows程序设计>> Charles Petzold VS 王艳平
- 【Windows 程序设计 (美)Charles Petzold 第5版 珍藏版】
- 图灵访谈之三十九:对话《图灵的秘密》作者Charles Petzold(中文版)
- 读Petzold-编码的奥秘-记录
- 工程师写Code的聪明省力法
- 解决IE兼容性问题,我问一下你啊,你是不是没差 你说我要你何用啊html5shiv.js和respond.min.js
- 10-NSPersistentContainer介绍
- bzoj 1002: [FJOI2007]轮状病毒(生成树计数,高精度)
- 3-1
- JavaScript学习(二)
- Charles Petzold《Code》----2017.1.22 读13章(非常聪明!)
- Zabbix Server, Java Gateway, Agentd, Frontend安装配置
- mysql权限管理
- HDFS 2.0 HA实现原理
- Spring Boot 正确、安全地停止SpringBoot应用服务
- 3-2
- 输入年和月份,输出这一年该月份有多少天。
- SpringBoot文件上传
- 用QML实现简单音视频播放器的实践