计算机加减乘除运算原理

  1. 加减法原理

    1. 原码,反码,补码
  • 机器数:数值在计算机中的真实存储;如[+2]为[00000010],[-2]为 [10000010] ;其最高位称为符号位,0代表正数,1代表负数。
  • 机器数的真数:机器数的真正数值,如[+2]为[0000010],[-2]为 [0000010] 等。
  • 原码:符号位加真数的绝对值,用第一位表示符号, 其余位表示值。
  • 反码:正数的反码是其本身;负数的反码是在其原码的基础上, 符号位不变,其余各个位取反。
  • 补码:正数的补码就是其本身;负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1。 (即在反码的基础上+1)
  • 例子

十进制

原码(符号位+真数)

反码(符号位不变)

补码(符号位不变)

85(正数)

0101 0101

0101 0101(正数:本身)

0101 0101(正数:本身)

-85(负数)

1101 0101

1010 1010(负数:非符号位取反)

1010 1011(负数:反码+1)

    1. 加减法原理
  • 计算机内部存储的是0,1代码,从低位到高位只能进行加法运算,例0 0结果为0,0 1结果为1,1 1结果为0同时向高位进1
  • 原码,反码,补码的加法运算

原码运算:如下图,原码运算对于负数参与的运算是不正确的,但是两个正数相加则正常;

反码运算:真数部分是正确的,但是对于0出现了[0000 0000]原和[1000 0000]两种编码;

补码运算:使用[1000 0000]代表-128,同时-128不存在原码

qq_38331606
    1. 补码
  • 意义

使符号位以及真数同时参与运算;

可以把减法运算变成加法运算;而乘法可以用加法来做,除法可以转变成减法。

  • 自然丢失

如下图,补码运算的最高位溢出情况下,其他位的结果正好为数据的运算结果

qq_38331606
  1. 乘法

    1. 原理:计算机数值都是用2的N次方来表示的2^n0+2^n1+2^n2+2^n3+2^n4......

x*y =(x)*(2^n0+2^n1+2^n2+2^n3+2^n4)

=(x*2^n0)+(x*2^n1)+(x*2^n2)+(x*2^n3)+(x*2^n4)+......

=(x左移n0)+(x左移n1)+(x左移n2)+(x左移n3)+(x左移n4)+......

  1. 实例15(x)*13(y),即1111*1101

a.首先y的最低位为1(2^0),x左移0位得到1111
b.然后y的最低第二位为0,没有2^1存在,因此本次无运算,得到为0
c.然后y的最低第三位为1(2^2),x左移2位得到111100
d.然后y的最低第四位为1(2^3),x左移3位得到1111000
e.把a、b、c、d的结果相加1111+0+111100+1111000=11000011(195),该结果就是乘法的结果

  1. 除法

    1. 原理

左移运算。符号位不参与运算

  1. 实例:51/3

qq_38331606
  1. 大小比较

真数从高位到低位比较,符号位单独比较

  1. 移位运算

    1. << : 左移运算符,num << 1,相当于num乘以2

如:0000 0010 左移2位为 0000 1000  ;从2变为16

  1. >> :右移运算符,num >> 1,相当于num除以2

如:0000 1000 右移2位为 0000 0010,从16变为2

计算机加减乘除运算原理相关推荐

  1. 计算机运行加减乘除哪个最慢,计算机加减乘除运算原理

    计算机加减乘除运算原理 加减法原理 原码,反码,补码 机器数:数值在计算机中的真实存储:如[+2]为[00000010],[-2]为 [10000010] :其最高位称为符号位,0代表正数,1代表负数 ...

  2. php先乘除还是先加减,加减乘除运算法则是什么?

    加减乘除运算法则是什么? 加减乘除法是基本的四则运算,在没有括号的情况下,运算顺序为先乘除,再加减. 加法交换律:a+b=b+a 加法结合律:a+b+c=a+(b+c) 乘法交换律:a*b=b*a 乘 ...

  3. 计算机进行加减乘除的原理——万物皆加法

    数学里面的加减乘除都是建立加法上面的. 减法:A - B = A + (-B) 乘法:A * B = B 个 A 相加 除法:A / B = A 可以减去多少个 B,又因为减法就是加法. 所以,得出结 ...

  4. 定点数和浮点数加减乘除运算详解【计算机组成原理】---真的建议收藏啊!!!

    前言: 你知道计算机内部是如何进行加减运算的吗?可能你知道,那你知道计算机内部是如何进行乘除法运算的呢?肯定和我们十进制运算是不一样的.当我查找资料的时候,发现除了书本很少有这样的知识点.所以我想和大 ...

  5. 计算机底层知识——二进制之间的加减乘除运算

    本篇带你了解机器语言--二进制,位运算以及二进制之间到底是怎么进行**加减乘除**运算. 目录 1.二进制 2.数据宽度 3.有符号数.无符号数 3.1.无符号数规则 3.2.有符号数规则 4.原码反 ...

  6. 英语的加减乘除怎么计算机,英语加减乘除运算的表示方法

    英语加减乘除运算的表示方法 1. 加法:加法运算通常用and, plus, add 等表示.如: Seven and [plus] eight is [are, make(s)] fifteen. 7 ...

  7. 现在使用计算机的工作原理是,计算机的工作原理是什么

    很多人都会用电脑,那么你知道吗小编总结了一些资料,供大家参考! 计算机的基本原理是存贮程序和程序控制 预先要把指挥计算机如何进行操作的指令序列***称为程序***和原始数据通过输入设备输送到计算机内存 ...

  8. 计算机基础原理知识,计算机基础知识之计算机的工作原理

    1.3 计算机的工作原理 到目前为止,微机的工作原理均采用冯.若依曼的存储程序方式,即把程序存储在微机内,由微机自动存取指令并执行它.微机的工作过程就是执行程序的过程,而程序由指令序列组成,因此,执行 ...

  9. 计算机的工作原理是二进制原理吗,电子计算机的工作原理基于二进制。()

    相关题目与解析 电子数字式计算机只能使用二进制作为工作进制.() 电子计算机中只能存储二进制数.() 第一台电子数字计算机ENIAC采用的就是二进制表示数据.() 在数字电子计算机中采用二进制形式表示 ...

最新文章

  1. 鸿蒙系统明年上市巧,鸿蒙系统官网下载-鸿蒙系统官网下载手机版 v2.0下载-955游戏网...
  2. 如何再发行 SAPI 5.1 核心组件
  3. 用url传值,如何传多个值
  4. numpy.linspace详解
  5. 内部同步 外部同步 java_如何用匿名内部类实现 Java 同步回调
  6. 【Interfacenavigation】风格和主题(21)
  7. Python Django 模型类字段常用属性
  8. 【Python】学习笔记总结2(Python面向对象)
  9. 登陆状态购物车数据结构
  10. 各大互联网大厂年终奖一览表!
  11. Timestamp 与 Date 变量绑定与Oracle的自动分区
  12. NYOJ458 - 小光棍数
  13. [Android]大牛直播SDK基于unity3d平台的rtmp/rtsp直播播放端SDK接口说明...
  14. 刚刚,神舟十三号载人飞船即将撤离空间站核心
  15. FASTQ 格式说明
  16. 给大家分享学好 Python 的 11 个优秀资源
  17. 三位数的茎叶图怎么看_如何看懂茎叶图
  18. CCF-CSP 201612-1 中间数
  19. 你好法语A1语法单元汇总(unité 4)
  20. 并发线程和线程间通信(event、mailbox和semaphore)-systemVerilog

热门文章

  1. uniapp 背景图片全屏显示在整个页面
  2. android 倒计 代码,2小时倒计时
  3. 半结构化面试,无领导小组面试
  4. GTX1050和GTX1050 Ti有什么区别
  5. php封装协议查看zip,支持的协议和封装协议
  6. 干货!一分钟精通常用光纤知识
  7. 地名翻译混乱 广东省质监局出台规范
  8. 专业数据分析软件 OriginLab Origin 8
  9. 合并两个有序链表,合并后依然有序
  10. K线形态识别_冉冉上升