计算机为什么使用二进制,加减法计算为什么使用补码,补码到底是怎么回事?
来源:互联网 发布:最终幻想猫女捏脸数据 编辑:程序博客网 时间:2024/05/01 16:35
计算机为什么使用二进制
这是因为二进制在计算机中的表示与计算比十进制和其他进制要简单的多,因为状态少,只有0和1。
计算机计算思维与人类的计算思维不一样,人计算较复杂的事务是通过公式或者算法等来计算,而计算机是将复杂事务变为最简单的01,然后通过大量运算计算出结果的。
加减法计算为什么使用补码,补码到底是怎么回事,补码为什么要通过原码过度到反码再过渡到补码?
加减法计算为什么使用补码?
补码的出现是为了将计算机中的减法用加法代替计算,这样计算机只要有个加法器就可以计算一切计算。
补码到底是怎么回事,补码为什么要通过原码过度到反码再过渡到补码?
假设现在有一个表盘,并且时针指向两点,那么逆时针扳动三小时是几点呢,答案是十一点。
换种思路,我顺时针扳动9个小时,答案也是11点。
逆时针为3个小时,顺时针是9个小时,小时数加起来正好是12个小时,用小学时期学习的的角度的180度角类似的知识可以得到,3和9就是互补的。而这个12科学家称之为模。
正数参与计算就是使用的加法,所以我们规定它的补码就是它本身。
负数参与计算用的是减法,我们需要让它像表盘一样计算,将它不再做逆时针,而是去做顺时针,顺时针多少呢,就是模减去负数的绝对值。
给个例子
一个字节的整数计算:12+5 -3-2=(-3)+(-2)一个字节的模二进制应该是1 0000 0000 一个字节的模二进制应该是1 0000 000012的原码是0000 1100, -3的原码是1000 0011,补码是0000 1100。(正数补码就是源码本身) 补码是100000000-10000011=1011 1101。5的原码是0000 0101, -2的原码是1000 0010,补码是0000 0101。(正数补码就是源码本身) 补码是100000000-10000010=1011 1110。 00001100 1011 1101+00000101 +1011 1110=00010001 =0111 1011 (第一位舍去,如13点去掉12点为1点) 原码=10000 0000-0111 1011=1000 0101
补码:0000 0000 = 00000 0001 = 1... ...0111 1111 = 1271000 0000 = 0或者-128 -128是为了和16位兼容1000 0001 = -1271000 0002 = -126... ...1111 1111 = -1
0 0
- 计算机为什么使用二进制,加减法计算为什么使用补码,补码到底是怎么回事?
- 计算机为什么使用补码来存储数据
- 计算机为什么使用补码来存储数据
- 二进制的计算(计算机为什么采用补码存储数据)
- 为什么使用补码
- 为什么要使用补码
- Java为什么使用补码进行计算
- 计算机为什么选用二进制补码(2)---选用补码原因
- 计算机组成原理---为什么计算机中要使用补码?
- C语言为什么使用补码
- 我们为什么要使用补码?
- 为什么计算机中使用补码来表示与运算
- 为什么计算机中使用补码来表示与运算
- 计算机为什么使用补码?(讲的很详细)
- 计算机为什么使用二进制?
- 计算机为什么要用补码?
- 计算机为什么要用补码?
- 计算机为什么要用补码
- C标准库和glibc(C运行库)的关系
- Mybatis ResultMap Collection 复合主键
- 学习笔记之JavaSE(44)--IO流6
- MySql下载安装及问题解决
- Android 统计apk中方法的数量
- 计算机为什么使用二进制,加减法计算为什么使用补码,补码到底是怎么回事?
- 二叉查找树C语言实现及其可视化
- 在Linux中定时备份文件
- java并发集合源码分析之currentHashMap分段加锁分析
- 各个代表
- 怎样给黑白图片上色
- leetcode No187. Repeated DNA Sequences
- 能编译成功但是会有许多红色警告解决办法,Xcode从SVN上面check Out
- jsp 回显显示select