软考学习——“码制”学习
来源:互联网 发布:软件技术服务协议范本 编辑:程序博客网 时间:2024/05/20 10:13
在刚开始学习软考的时候就遇到了关于码制的学习内容
为了便于运算,带符号的机器数可采用原码、、反码、补码等不同的编码方法,机器数的这些编码方法称为码制。
书上的内容只要讲了原码、反码、补码和移码。这一部分的内容,自己看了一个小时才弄懂,所以想花的时间做一个小的总结
以45和-45、机器字长为8 为例
原码:将两个数字转换为二进制数,不够的位数用0进行补充,在开始的第一位用0或者表示正负(0代表正数、1代表负数)
45 装换为二进制数时为“101101”所以用原码表示“00101101”
同理 -45装换为原码:“10101101”
可以发现除了符号(第一位的0或者1)不一样,其余的部分都一样
然后是反码:
对于正数来说,反码不会发生变化,依旧等于原码,
对于负数来说,除了符号位不发生变化,其余各位均求反(就是0改成1、1改成0)
所以
45反码:00101101
-45反码:11010010
很明显看出来,除了正数和负数的反码各位都是不一样的。换句话说,负数的反码=正数的反码求反
然后说补码:
对于正数来说,补码依旧等于本身
对于负数来说,补码等于反码+1
所以
45补码:00101101
-45补码:11010011
最后剩下一个移码:
对于移码的求解
正数的移码,等于补码符号位取反(既第一位由0变为1)
负数的移码,等于补码符号位取反(既第一位由1变为0)
所以
45移码:10101101
-45移码:01010011
这样四种就全都梳理完了,然后再做一个纵向的总结
对于正数来说:
原码=反码=补码= -移码
对于负数来说
反码=原码取反(除符号位)
补码=反码+1
移码=-补码
这样来看,是不是整个就清楚了很多了。
如果依旧有不是很懂的地方,欢迎在下方留言,有不好的地方,欢迎斧正
- 软考学习——“码制”学习
- 【软考学习】——软考总结
- 【软考】——学习总结
- 【软考学习】——线性表
- 【软考学习】——计算机系统知识
- 【软考学习】——风险分析
- 软考学习目录
- 软考学习进度
- 软考学习笔记
- 软考学习笔记
- 软考学习总结
- 【软考学习】软考总结
- Data Structure(3)——软考阶段学习小结
- 【软考之路】——J2SE学习总结
- 【软考学习】——软件过程模型
- 软考——学习是反复的
- 【软考学习】——软件开发方法
- 软考学习笔记本之三——数据库
- PHP学习笔记——使用回调函数处理数组的函数array_walk()
- struts2中的constant配置详解
- InputManagerService分发输入事件给应用程序(下)
- 用eclipse和androidstudio和基于高德地图API开发的附近购平台的java服务端和android客户端数据库用mysql包括程序设计图
- caffe一 Windows+caffe+cpu-only模式。
- 软考学习——“码制”学习
- Pandas的DataFrame输出截断和省略问题
- 51单片机简介
- jdk1.7_eclipse_jee_mars_tomcat7_maven3.5
- 应用程序注销输入事件通道
- 线程的生命周期图
- 输入事件ANR原理分析
- caffe 训练过程源码层理解
- 接口----多实现