算术运算(这么简单?进来坐坐?)

先热热身

        算术运算,也称为四则运算,包括加法、减法、乘法和除法。此外,算术运算还包括乘方和开方。

        在算术中,加减被视为一级运算,乘除被视为二级运算,乘方和开方被视为三级运算。在一道算式中,如果有几级运算存在,应先进行高级运算再进行低一级的运算。例如,3+22×4应先计算乘法,然后计算加法。如果只有同级运算,则按从左至右的顺序进行。如果算式中有括号,应先计算括号内的部分,再按照上述规则进行计算。例如,(3+2)×4应先计算括号内的加法,然后进行乘法。

        以下是常见的算术运算:

        加法(Addition): 将两个或多个数相加,得到它们的和。例如,3 + 5 = 8。

        减法(Subtraction): 从一个数中减去另一个数,得到它们的差。例如,7 - 4 = 3。

        乘法(Multiplication): 将两个或多个数相乘,得到它们的积。例如,2 × 6 = 12。

        除法(Division): 将一个数除以另一个数,得到它们的商。例如,8 ÷ 2 = 4。

二进制算术运算法则

        二进制算术运算是在二进制数字系统中执行的运算。在二进制中,只有两个数字,0和1。

二进制加法

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 10(二进制中的2,写作0,进位到下一位)

例如:

 1101   (13)+1010   (10)----10111   (23)

二进制减法

0 - 0 = 0

1 - 0 = 1

1 - 1 = 0

如果需要借位,从高位借1

例如:

 1101   (13)-1010   (10)----11    (3)

二进制乘法

0 × 0 = 0

0 × 1 = 0

1 × 0 = 0

1 × 1 = 1

例如:

  1101   (13)×1010   (10)----11010   (13 × 2 = 26)11010    (13 × 10 = 130)----10011110 (143)

二进制除法

1 ÷ 1 = 1

0 ÷ 1 = 0

1 ÷ 0 = 无穷大(不合法,因为除数不能为0)

如果需要,可以使用小数和继续除法

例如:

11010   (26)÷ 101   (5)----101    (5)-101----100   (4)-100----0   (0)

注意:在计算机中,二进制运算通常与固定的位数和溢出处理有关。

机器数的运算

        机器数是计算机中用来表示数字的二进制形式。在机器数的加减运算中,通常需要考虑溢出和进位的问题。

机器数的加法运算

1、从最低位开始逐位相加,考虑进位。

2、记录每一位相加的结果,以及是否有进位。

3、将进位加到下一位相加的结果中。

4、重复这个过程,直到所有位都相加完毕。

机器数的减法运算

1、从最低位开始逐位相减,考虑借位。

2、记录每一位相减的结果,以及是否需要借位。

3、如果需要,从高位借1,并继续减法。

4、重复这个过程,直到所有位都相减完毕。

补码的运算法则

补码加法

1、逐位相加: 从最低位开始,对两个补码数的对应位进行二进制加法,包括进位。

2、忽略最高位的进位: 在加法过程中,忽略最高位的进位。

3、溢出处理: 如果相加的两个正数得到负数结果,或者两个负数得到正数结果,发生了溢出。溢出时,结果超过了补码能表示的范围,产生错误的结果。

4、最高位的溢出: 如果最高位有进位(溢出),则将该位丢弃。这是因为最高位表示的是符号位,进位表示溢出,所以最高位的溢出是不需要保留的。

5、结果为补码形式: 最终的结果是一个补码,可以直接在计算机中表示。

补码加法的例子

例如,对于两个4位二进制补码数的加法:

    1101   (-3)+  1010   (-6)--------10111   (-9)

在这个例子中,逐位相加得到的结果是 10111,最高位有进位,因此最终结果是 -9 的补码形式。

补码的加法运算遵循这些规则,而在实际计算机系统中,硬件和软件都支持补码运算。

补码减法

        补码减法是对两个补码数进行相减的过程。补码的减法可以通过将减法问题转换为加法问题来处理

补码减法步骤

1、取负数的补码: 将减数(被减数)的补码计算出来,即将每一位取反(0变成1,1变成0),然后加1。

2、将减法转换为加法: 将减法问题转换为对两个补码数的加法问题。这相当于将减法问题转化为加上减数的相反数。

3、使用补码加法规则进行相加: 对转换后的两个补码数进行逐位相加,包括进位,最后忽略最高位的进位。

4、检查溢出: 检查最高位的进位,如果发生了溢出,说明结果超出了补码的表示范围,产生了错误的结果。

5、结果为补码形式: 最终的结果是一个补码,可以直接在计算机中表示。

补码减法的例子

        例如,对于两个4位二进制补码数的减法:

    1101   (-3, 被减数)-  1010   (-6, 减数)--------10011   (3, 结果)

        在这个例子中,我们首先计算减数的补码,即将 1010 取反得到 0101,然后加1得到 -1010。接着,我们将减法问题转化为加法问题,对被减数 1101 和 -1010 进行相加,得到结果 10011,即为3的补码形式。最高位没有进位,没有发生溢出。

机器数的乘法运算

机器数乘法步骤

1、从最低位开始,对每一位进行乘法。

2、将每一位的乘积相加,得到最终结果。

例子:

    1101   (13)×  1010   (10 )-------11010   (13 × 2 = 26 )11010    (13 × 10 = 130 )-------10011110 (143)

机器数的除法运算

机器数除法步骤

1、从最高位开始,将被除数逐位除以除数。

2、如果被除数小于除数,商的当前位为0,继续处理下一位。

3、如果被除数大于等于除数,将除数放到被除数上方,并减去。商的当前位为1。

4、重复这个过程,直到所有位都处理完毕。

例子:

   11010   (26, 被除数)÷  101   (5, 除数)-------101    (5, 商)-101----100   (4)-100----0   (0)

        在机器数的乘除运算中,需要特别注意除数不能为0的情况,因为除以0是不合法的。此外,在计算机中,通常需要考虑位数的溢出和结果的精度问题。

浮点数运算

        浮点数在计算机中以二进制形式表示,通常由两个部分组成:尾数(mantissa)和指数(exponent)。这种表示方式称为浮点数表示法,主要用于处理实数的近似值。在 IEEE 754 标准中,浮点数的表示有单精度和双精度两种形式,分别为32位和64位。

IEEE 754 单精度浮点数表示:

符号位(1位): 表示浮点数的正负。

指数位(8位): 用于存储指数部分,通过偏移值来表示实际指数。

尾数位(23位): 存储浮点数的尾数部分,通常称为尾数或者尾数部分。

例如,一个单精度浮点数的表示如下:

符号位0
指数位10000011
尾数位10110111000000000000000
符号位指数位尾数位01000001110110111000000000000000

        在这个例子中,符号位为0,指数位为10000011(二进制),尾数位为10110111000000000000000(二进制)。

IEEE 754 双精度浮点数表示:

符号位(1位): 表示浮点数的正负。

指数位(11位): 用于存储指数部分,通过偏移值来表示实际指数。

尾数位(52位): 存储浮点数的尾数部分,通常称为尾数或者尾数部分。

例如,一个双精度浮点数的表示如下:

符号位

0

指数位

10000000001

尾数位

1011011100000000000000000000000000000000000000000000
符号位指数位尾数位0100000000011011011100000000000000000000000000000000000000000000

在这个例子中,符号位为0,指数位为10000000001(二进制),尾数位为1011011100000000000000000000000000000000000000000000(二进制)。

        这样的浮点数表示法允许计算机用二进制形式来表示很大范围的实数,但由于二进制不能精确表示一些十进制小数,可能会存在精度损失。在程序设计中,特别是涉及精确计算的情况下,需要小心处理浮点数运算可能引起的误差。

浮点加法运算

        浮点加减运算涉及对浮点数进行加法和减法操作。浮点数通常由两个部分组成:尾数(mantissa)和指数(exponent)。

1、对齐小数点: 确保两个浮点数的小数点对齐,即调整它们的指数使之相同。

2、尾数相加: 将对齐后的尾数进行二进制加法。注意处理可能的进位。

3、规格化: 确保尾数的最高位是1。如果相加后的尾数不规格化,需要左移一位并相应地增加指数。

4、溢出和舍入: 处理溢出情况,同时进行舍入操作,确保结果在浮点数表示的范围内。

5、更新指数: 更新结果的指数部分。

6、检查和处理特殊情况: 检查是否有零、无穷大、NaN(Not a Number)等特殊情况,并进行相应处理。

浮点减法运算

1、减法运算可以通过将减数取负数,然后将减法问题转化为加法问题来处理。具体步骤如下:

2、取负数: 将减数的符号位取反,即得到减数的负数。

3、使用浮点加法: 将被减数和取负后的减数进行浮点加法运算。

4、检查和处理特殊情况: 检查是否有零、无穷大、NaN等特殊情况,并进行相应处理。

        浮点数运算可能面临精度损失和舍入误差,因此在编写程序时,应当小心处理浮点数运算可能引起的问题。一些编程语言和库提供了专门的工具和函数来处理浮点数运算的精度和误差。

浮点乘法运算

        浮点乘除运算涉及对浮点数进行乘法和除法操作。浮点数通常由尾数(mantissa)和指数(exponent)两部分组成。

1、尾数相乘: 将两个浮点数的尾数进行二进制乘法。

2、规格化: 对乘法结果进行规格化,确保尾数最高位是1。

3、指数相加: 将两个浮点数的指数相加,得到新的指数。

4、溢出和舍入: 处理可能的溢出情况,并进行舍入操作,确保结果在浮点数表示的范围内。

5、检查和处理特殊情况: 检查是否有零、无穷大、NaN等特殊情况,并进行相应处理。

浮点除法运算

1、尾数相除: 将被除数的尾数除以除数的尾数。

2、规格化: 对除法结果进行规格化,确保尾数最高位是1。

3、指数相减: 将被除数的指数减去除数的指数,得到新的指数。

4、溢出和舍入: 处理可能的溢出情况,并进行舍入操作,确保结果在浮点数表示的范围内。

5、检查和处理特殊情况: 检查是否有零、无穷大、NaN等特殊情况,并进行相应处理。

        在浮点数运算中,同样需要考虑精度损失和舍入误差。特别是在比较浮点数时,应当避免直接使用等号,而是使用一个小的容忍度范围来判断它们是否相等。

电脑计算器

        电脑常用的计算器:标准计算器、科学计算器、绘图、程序员、日期计算

        (........一言难尽,喝口茶,不想写了就到这吧)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/256725.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

佳明(Garmin) fēnix 7X 增加小睡检测功能

文章目录 (一)零星小睡(二)小睡检测(三)吐槽佳明(3.1)心率检测(3.2)光线感应器(3.3)手表重量(3.4)手表续航 &a…

nodejs微信小程序+python+PHP的智能停车系统-计算机毕业设计推荐django

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…

在vue中深度选择器的使用

一、为什么要使用深度选择器 在vue中,当我们使用了第三方库中的组件时,想要更改一些样式,达到我们想要的效果,由于scoped的影响直接编写同名样式时,是覆盖不了组件内的样式的。 为了达到我们想要的效果,…

77. 组合

组合 描述 : 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 题目 : LeetCode 77. 组合 : 77. 组合 分析 : 请看回溯怎么回事 , 里面讲的很清晰 . 解析 ; class Solution {public List<List<Integ…

跨境电商危机公关:应对负面舆情的策略优化

随着跨境电商的快速发展&#xff0c;企业在全球市场中面临的竞争与挑战也日益复杂。在这个数字时代&#xff0c;负面舆情一旦爆发&#xff0c;可能对企业形象和经营造成深远影响。 因此&#xff0c;跨境电商企业需要建立有效的危机公关策略&#xff0c;以迅速、果断、有效地应…

爬虫解析-jsonpath (五)

jsonpath只能解析本地文件 jsonpath的使用&#xff1a; obj json.load(open(.json文件,r,encodingutf-8))place_name jsonpath.jsonpath(obj, json语法) 目录 1.安装jsonpath 2.Xpath和jsonpath的语法对比 练习&#xff1a;使用jsonpath解析JSON文件 3.使用jsonpath抓取…

AIGC创作系统ChatGPT网站源码,Midjourney绘画,GPT联网提问/即将支持TSS语音对话功能

一、AI创作系统 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI…

扩展卡尔曼滤波技术(Extended Kalman Filter,EKF)

一、概念介绍 卡尔曼滤波是一种高效率的递归滤波器(自回归滤波器), 它能够从一系列的不完全包含噪声的测量中&#xff0c;估计动态系统的状态&#xff0c;然而简单的卡尔曼滤波必须应用在符合高斯分布的系统中。 扩展卡尔曼滤波就是为了解决非线性问题&#xff0c;普通卡尔曼…

Redis生产实战-Redis集群故障探测以及降级方案设计

Redis 集群故障探测 在生产环境中&#xff0c;如果 Redis 集群崩溃了&#xff0c;那么会导致大量的请求打到数据库中&#xff0c;会导致整个系统都崩溃&#xff0c;所以系统需要可以识别缓存故障&#xff0c;限流保护数据库&#xff0c;并且启动接口的降级机制 降级方案设计 …

教程篇(7.2) 01. 介绍和初始访问 ❀ FortiAnalyzer分析师 ❀ Fortinet 网络安全专家 NSE5

在本课中&#xff0c;你将了解FortiAnalyzer的关键功能和概念&#xff0c;以及如何最初访问FortiAnalyzer。 FortiAnalyzer将日志记录、分析和报告集成到一个系统中&#xff0c;因此你可以快速识别和响应。 在本课中&#xff0c;你将探索上图显示的主题。 通过展示FortiAnalyze…

2分钟带你了解什么是Vsync

了解Vsync&#xff0c;首先我们需要认知如下问题 什么是GPUCPU在渲染之前起到什么作用什么是帧&#xff0c;帧率什么是画面撕裂 什么是GPU GPU为图形处理器&#xff0c;又称显示核心、视觉处理器、显示芯片。 是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑…

Nature Communications 高时空分辨率的机器人传感系统及其在纹理识别方面的应用

前沿速览&#xff1a; 现有的触觉传感器虽然可以精确的检测压力、剪切力和应变等物理刺激&#xff0c;但还难以像人类手指一样通过滑动触摸&#xff0c;同时获取静态压力与高频振动来实现精确的纹理识别。为了解决这一问题&#xff0c;来自南方科技大学的郭传飞团队提出了衔接…