精华内容
下载资源
问答
  • li = [-1,5,7,9,-10] #map(function,data) #需要使用list,不然返回的一个地址 print(type(map(abs,li))) res = list(map(abs,li)) print(res) type: <class ‘map’> 打印输出的结果为:[1,5,7,9,10] ...
    li = [-1,5,7,9,-10]
    #map(function,data)
    #需要使用list,不然返回的一个地址
    print(type(map(abs,li)))
    res = list(map(abs,li))
    print(res)
    

    type: <class ‘map’>
    打印输出的结果为:[1,5,7,9,10]

    展开全文
  • 使用函数abs将数据进行计算后,发现并没有得到预期的数值,正常状态下值应将-0.77的负号去掉得到正值,但实际出来结果却为0。 解决 abs的用法是针对整形变量的,double型变量取绝对值为fabs, float型变量取...

    问题

    使用函数abs将数据进行计算后,发现并没有得到预期的数值,正常状态下值应将-0.77的负号去掉得到正值,但实际出来结果却为0。

     

    解决

    abs的用法是针对整形变量的,double型变量取绝对值为fabs, float型变量取绝对值函数为fabsf。改为此函数fabsf即可得到正确数值0.77。

    展开全文
  • 数据绝对值的函数注意事项 求数据绝对值的函数 abs():求整数的绝对值,如果用来求浮点数可能返回的是整数部分,小于0的,直接返回0., fabs():求浮点数的绝对值,精度小数点后2位 abs 函数是存在于多种编程语言...

    求数据绝对值的函数注意事项

    求数据绝对值的函数

    • abs():求整数的绝对值,如果用来求浮点数可能返回的是整数部分,小于0的,直接返回0.,
    • fabs():求浮点数的绝对值,精度小数点后2位

    abs 函数是存在于多种编程语言(包括且不限于:C语言、C++、Fortran、Matlab、Pascal、Delphi、Visual Basic 和 VBA)中的一种用于求数据绝对值的函数。

    展开全文
  • 上一章我们简要介绍了数据是如何在计算机中存储,本章我们将在上一章的基础上介绍存储在计算机中的数据是如何进行运算的。在计算机中,数据运算大致可以分为三类:逻辑运算、移位运算和算术运算,下面我们逐一介绍...

    原文链接:计算机科学导论(3):数据运算 | 远行的舟

    上一章我们简要介绍了数据是如何在计算机中存储,本章我们将在上一章的基础上介绍存储在计算机中的数据是如何进行运算的。在计算机中,数据的运算大致可以分为三类:逻辑运算、移位运算和算术运算,下面我们逐一介绍这三种运算。

    3.1 逻辑运算

    在计算机中,数据的逻辑运算涉及四个逻辑运算符/联结词:非( N O T {\rm NOT} NOT)、与( A N D {\rm AND} AND)、或( O R {\rm OR} OR)和异或( X O R {\rm XOR} XOR),关于这些逻辑联结词的含义详见博文《离散数学(1):逻辑与证明》,这里不再赘述。下面仅对这四种逻辑运算在数据上的应用作简要说明。

    N O T {\rm NOT} NOT 逻辑运算符的唯一应用是对整个位模式作求反运算,图 3-1 展示了这一应用。

    图 3-1 ${\rm NOT}$ 逻辑运算符的应用

    A N D {\rm AND} AND 逻辑运算符的一个应用是把一个位模式的指定位复位为 0,完成这一任务的另一个位模式称之为掩码mask),mask 一词的含义有面具、面膜以及伪装、掩饰等。其具体方法是:对需要复位的位,掩码在该位取 0,否则取 1. 图 3-2 展示了这一应用。

    图 3-2 $AND$ 逻辑运算符的应用

    O R {\rm OR} OR 逻辑运算符的一个应用是把一个位模式的指定位置位为 1。其具体方法是:对需要置位的位,掩码在该位取 1,否则取 0. 图 3-3 展示了这一应用。

    图 3-3 ${\rm OR}$ 逻辑运算符的应用

    X O R {\rm XOR} XOR 逻辑运算符的一个应用是把一个位模式的指定位作求反运算。其具体方法是:对需要求反的位,掩码在该位取 1,否则取 0。图 3-4 展示了这一应用。

    图 3-4 ${\rm XOR}$ 逻辑运算符的应用

    3.2 移位运算

    移位运算(shift operation)即移动位模式中的位,它包括逻辑移位运算和算术移位运算,前者应用于无符号整数,后者应用于有符号整数。

    逻辑移位运算logical shift operation)包括逻辑右移运算、逻辑左移运算、循环右移运算和循环左移运算,这些移位运算的共同特征是:如果将其应用于有符号整数,该运算可能会改变数的符号。图 3-5 向我们展示了逻辑移位运算的具体过程。

    图 3-5 逻辑移位运算

    算术移位运算arithmetic shift operation)包括算术右移运算和算术左移运算,图 3-6 向我们展示了算术移位运算的具体过程。算术右移运算等价于对整数除以 2 并取整,算术左移运算则等价于对整数乘以 2。值得注意的是算术移位运算存在溢出情况,在这种情况下,新的符号位发生了反转而不再与原符号位保持一致。

    图 3-6 算术移位运算

    在结束本小节前,我们再看一个综合应用逻辑运算和移位运算解决实际问题的例子。如图 3-7 所示,我们需要判断原始位模式中第三位究竟为 0 还是为 1,对于这个问题,我们可以采用两次逻辑右移运算和一次由 A N D {\rm AND} AND 逻辑运算符执行的逻辑运算来得到答案。如果最终结果为无符号整数 1,则原始位模式中第三位为 1,否则为 0.

    图 3-7 逻辑运算与移位运算的综合应用

    3.3 算术运算

    算术运算即对实数(整数和浮点数)的四则运算,由于除法运算可以转化为乘法,乘法运算又可以转化为加法,因此我们只介绍实数的加减法。但需要特别强调的是:使用重复的加减运算来实现乘除运算的方法十分低效,人们已经发展出了如 Booth 算法等的更高效的实现乘除运算的方法。笔者认为:对于那些刚刚迈入计算机大门的读者朋友而言,现在就去学习和研究这些更高效的实现乘除运算的方法,是不合时宜的。在入门阶段,我们迫切需要做的是尽快从宏观上建立对这门学科的整体认知。先宏观后微观一直是笔者认同的正确学习方式,然而遗憾的是我们的大学教育似乎是反其道而行之的,以至于我们许多学生在还不知道这门学科到底是干什么、不了解这门学科发展的大致历史的情况下就深陷于对细枝末节的考究中。下面我们逐一介绍补码表示法中的加减法、符号加绝对值表示法中的加减法以及浮点表示法中的加减法。

    3.3.1 补码表示法中的加减法

    设数 A A A、数 B B B 均以补码表示法存储于计算机中,则计算 A + B A+B A+B 就是把两数直接相加,而计算 A − B A-B AB 等价于计算 A + ( − B ) A+\left(-B\right) A+(B),根据上一章的内容我们知道:在计算机中,当运算涉及的数据以补码表示法存储时,计算 A + ( − B ) A+\left(-B\right) A+(B) 的过程就是将 A A A B B B 的补码 B ‾ + 1 \overline{B}+1 B+1 相加的过程,这里 B ‾ \overline{B} B 表示 B B B 的反码。图 3-8 展示了补码表示法下加减法的运算过程。

    图 3-8 补码表示法下加减法的运算过程

    3.3.2 符号加绝对值表示法中的加减法

    相比于补码表示法下的加减法,符号加绝对值表示法中的加减法要复杂得多。以 A ± B A\pm B A±B 为例,它涉及 8 种情况:正加正、负加负、正减负、负减正、正加负、负加正、正减正、负减负。但实际上我们并不需要对上述 8 种情况逐一设计计算方法,图 3-9 向我们展示了符号加绝对值表示法下加减法的运算过程。

    图 3-9 符号加绝对值表示法下加减法的运算过程

    初看这张图时,我们大概会一头雾水。没关系,下面我们对上图作个简要说明,在看完这个说明之后你可能还会有疑惑,但情况一定会比你初见这张图时好上不少。

    首先,当运算为减法时, B S   ←   B ‾ S B_S \ \leftarrow \ \overline{B}_S BS  BS 用来改变第二个整数 B B B 的符号位,它所完成的任务就是将原本的减法运算变为加法运算,如此一来我们所需考虑的 8 种情况就减少为 4 种,即正加正、负加负、正加负、负加正,而这可以分为两种情况考虑:一种是相同符号数相加,另一种是不同符号数相加。

    接着执行的异或运算 A S X O R B S A_S {\rm XOR} B_S ASXORBS 就是用来判断两个加数的符号是否相同的,这里 A S A_S AS B S B_S BS 代表 A A A B B B(对减法而言是 B ‾ \overline{B} B) 的符号位。根据异或运算的规则,当 A S A_S AS B S B_S BS 同号时, A S X O R B S A_S {\rm XOR} B_S ASXORBS S S S 的取值为 0,否则为 1.

    当符号相同时, A + B A + B A+B 的绝对值就等于 A A A 的绝对值 A M A_M AM B B B 的绝对值 B M B_M BM 的和,而 A + B A + B A+B 的符号则与 A A A B B B 的符号一致。当符号不同时, A + B A + B A+B 的绝对值就等于 A A A 的绝对值 A M A_M AM B B B 的绝对值 B M B_M BM 的差的绝对值,而 A + B A + B A+B 的符号则由 A M A_M AM B M B_M BM 的大小关系决定。

    A M ≥ B M A_M \geq B_M AMBM 时, A + B A + B A+B 的符号由 A A A 的符号决定,此时 A M − B M A_M-B_M AMBM 必为非负整数,正如前面所言,计算机在计算 A M − B M A_M-B_M AMBM 的值时实际上执行的是计算 A M + ( B ‾ M + 1 ) A_M+\left(\overline{B}_M+1\right) AM+(BM+1) 的过程,但由于 A M − B M A_M-B_M AMBM 的计算结果为非负整数,而对非负整数而言补码和原码是一致的,因此计算结果去除符号位后即为 R M R_M RM 的取值.

    A M &lt; B M A_M &lt; B_M AM<BM时, A + B A + B A+B 的符号由 B B B 的符号决定,此时 A M − B M A_M-B_M AMBM 必为负数,而对负数而言补码和原码是不一致的,因此我们看到在这种情况下计算完 A M − B M A_M-B_M AMBM 后还要对其结果取一次补码运算,即图中的 R M   ←   R ‾ M + 1 R_M \ \leftarrow \ \overline{R}_M+1 RM  RM+1,如此得到的结果在去除符号位后才是 R M R_M RM 的值.

    从图中我们还可以看到:对于 A M A_M AM B M B_M BM 大小关系作出判断的依据是 A M + ( B ‾ M + 1 ) A_M+\left(\overline{B}_M+1\right) AM+(BM+1) 的计算结果是否会发生上溢。Behrouz Forouzan 先生在其所著的《计算机科学导论》一书中指出:可以证明,当 A M ≥ B M A_M \geq B_M AMBM 时, A M + ( B ‾ M + 1 ) A_M+\left(\overline{B}_M+1\right) AM+(BM+1) 的结果会发生上溢,否则不会发生上溢,至于如何证明,笔者至今还不得而知。图 3-10 向我们展示了三对以符号加绝对值表示法格式存储的数的相加过程。

    图 3-10 符号加绝对值整数加法的三个例子

    3.3.3 浮点表示法中的加减法

    在上一章中,我们曾经指出:浮点表示法内在地包含了符号加绝对值表示法,其体现在符号加尾数的组合上。因此浮点表示法下实数的加减法同样建立在符号加绝对值整数加减法的基础上。图 3-11 向我们展示了浮点表示法下加减法的运算过程。

    图 3-11 浮点表示法下加减法的运算过程

    需要指出的是:上图显示的运算过程是简化的版本。下面我们以计算 5.75 + 161.875 5.75 + 161.875 5.75+161.875 为例对上图加以阐述。以单精度浮点表示法为例,5.75 和 161.875 在计算机中表示为如下位模式:

    由于是加法,我们直接进入去规范化的步骤,所谓去规范化即是给尾数增加隐含的 1 并将相应的指数加 1. 去规范化后的位模式如下所示:

    接下来我们统一指数,将较小的指数与较大的指数统一为较大的指数并移动相应尾数,在这里就是把第一个指数加 5,并把第一个尾数右移 5 位,统一指数后的位模式如下所示:

    接着我们对两个数的符号和尾数组合作符号加绝对值加法,加法结果的位模式如下所示:

    最后尾数中没有溢出,我们将其重新规范化得到最终的计算结果为:

    至此,我们已经对数据的存储与运算有了一个粗略的了解,接下来的第 4、第 5、第 6 、第 7 、第 8 章,我们将走进计算机硬件与软件的世界。在那里,我们将依次讨论计算机的组成原理计算机网络操作系统程序设计语言以及数据结构与算法。事实上,这里每一章内容都可以单独成书,它们是通往计算机世界所必不可少的五把钥匙,具体学习这五方面内容的顺序大致为:程序设计语言 → \rightarrow 数据结构与算法 → \rightarrow 计算机组成原理 → \rightarrow 操作系统 → \rightarrow 计算机网络。虽然要全面理解这五大块内容,需要离散数学的基础,也需要电路的基础,但即便我们缺乏这样的基础,我们也可以先从宏观上建立对这些内容的整体认知。相信我,当我们站得更高时必将看得更远,我们心中所拥有的宏大格局必将帮助我们在知识的海洋中乘风破浪、所向披靡。同学们,准备好了吗,抓好扶手,我们过几天就出发!

    展开全文
  • 用位运算实现求绝对值

    千次阅读 2013-10-25 09:20:21
    一般情况下,如果要我们写一个求绝对值的函数,我们的实现很有可能会是这样: template T abs_Normal(T tNum) { if(tNum > 0.0) return tNum; else return -tNum; } 也就是说我们会用到一个if-else判断来...
  • 一般情况下,如果要我们写一个求绝对值的函数,我们的实现很有可能会是这样: templateclass T> T abs_Normal(T tNum) {  if(tNum > 0.0)  return tNum;  else  retu
  • 数据运算 4.1 逻辑运算 逻辑运算是指那些应用于模式中的一个二进制位, 或在两个模式中相应的两个二进制位的相同基本运算。 这意味着我们可以在位层次上和模式层次上定义逻辑运算。 模式层次上的逻辑运算是...
  • 数值型数据运算

    千次阅读 2019-11-02 16:36:56
    定点加法与减法运算 上节内容介绍过,带符号数有原码、反码、补码等几种表示方法,并且为了降低运算器的复杂性,我们可以把减法看作被减数加减数的负数,即 A-B=A+(-B) 这样减法操作就可以用加法操作来代替,运算...
  • C语言

    万次阅读 多人点赞 2019-12-18 23:01:50
    43.C语言允许直接访问物理地址,能进行位操作。 44.C语言是结构化程序设计语言 45.c程序要通过编译,连接才能得到可执行的目标程序 46.用c语言编写程序,可以编写出任何类型的程序 47.C语言允许有空函数 48.C程序...
  • origin对数据进行操作

    千次阅读 2019-06-05 09:50:40
    选中列值 右键找到“设置列值” 输入"Col(A)-1"电机确定,即可完成该列减一的操作 参考链接: origin 2015 列数据的各种计算
  • 5-2 一元多项式的乘法与加法运算 (20分) 设计函数分别求两个一元多项式的乘积与和。 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不...
  • 1. 这本书Python的知识点的描述很详细,而且排版看的很舒服. 2. 几个例题:假装自己从零开始学,将一些有代表性、有意思的例题抽取出来. 3. 还有自己一部分课后复习题,全部课后上机实践题的解题思路
  • 华中科技大学计算机组成原理慕课答案

    万次阅读 多人点赞 2020-01-26 00:09:18
    寄存器的数据微程序级用户透明 C.软件与硬件具有逻辑功能的等效性 D.计算机系统层次结构中,微程序属于硬件级 2、完整的计算机系统通常包括( A ) A.硬件系统与软件系统 B.运算器、控制器、存储器 C.主机...
  • OFDM完整仿真过程及解释(MATLAB)

    万次阅读 多人点赞 2019-04-19 17:03:45
    在接收端则用同样的码进行相关同步接收、解扩及恢复所传信息数据” 根据香农定理,带宽和信噪比可用互换,扩频扩展了带宽,则信噪比的要求可降低。 4.5 导频 导频不携带信息,导频是双方已知的数据,是用来做信道...
  • C语言求绝对值的问题

    千次阅读 2020-06-08 11:05:21
    在计算中有时需要对数据绝对值,在C语言中有不同的函数提供给我们使用 1.计算整型变量的绝对值 语法: int abs(int n); long labs(long n); long long llabs(long long n); 要求:必需头文件<math.h> 或...
  • matlab时域频域信号特征提取资料整合

    万次阅读 多人点赞 2019-09-28 15:31:44
    最近在做一个项目,需要将声纳信号中的特征都提取出来进行分析。资料查到头秃终于整合出来了些东西,记录一下。 由于不是专业人员,如果发现任何错误请不要大意的附在评论区,我会及时修改,谢谢! 2 思路 思路这...
  • 在闲鱼有缘结识的一个哥们,帮助做的基于STM32人体检测系统,我负责硬件程序开发设计,哥们负责客户端服务器微信程序的实现,人体检测系统要求将测得数据通过zigbee传输到坏境检测系统中。 系统成品图 模块选用 ...
  • 浮点数取绝对值的方法

    千次阅读 2020-12-27 18:40:13
    浮点数取绝对值的几种方式(小端模式的情况) 双精度取绝对值 方式一 (使用fabs库函数) double d1 = -1.9832; d1 = fabs(d1); printf("d1 %lf\n", d1); 输出结果: d1 1.983200 方式二 (使用位与...
  • 1 输出逆序数(3分) 题目内容: 从键盘任意输入一个3位整数,编程计算并输出它的逆序数(忽略整数前的正负号)。例如,输入-123,则忽略负号,由123分离出其百位1、十位2、个位3,然后计算3100+210+...利用取绝对值...
  • 请用四个词语来形容 · JSON相对于XML来讲,数据的体积小,传递的速度更快些 · JSON与JavaScript的交互更加方便,更容易解析处理,更好的数据交互 · XML对数据描述性比较好; · JSON的速度要远远快于XML 15....
  • PTA46题(Java基础练习)

    万次阅读 多人点赞 2019-10-03 20:40:59
    注1:直接使用double类型数据进行运算,无法得到精确值。 注2:输出时直接调用BigDecimal的toString方法。 输入样例: 69.1 0.02 1.99 2.01 输出样例: 69.12 1.382 4.00 3.9999 import java ...
  • abs函数求取绝对值,int函数取整,怎么将两个函数结合起来小数点后的数据实现取整运算?怎么在vb小数进行取整,小数点后2位。
  • 浮点数-整型数取绝对值

    千次阅读 2015-07-10 19:36:14
    # man fabs函数名:fabs, fabsf, fabsl - 计算浮点数的绝对值语法:#include <math.h>double fabs(double x);float fabsf(float x);long double fabsl(long double x);Link with -lm链接:-lm描述:fabs(x), ...
  • 数据分析之Pandas(四)DataFrame运算

    千次阅读 2019-03-18 11:51:18
    比如进行数学运算加上具体的一个数字 sub(other) 如果想要得到每天的涨跌大小?求出每天 close- open价格差 第二节 逻辑运算 逻辑运算符号&amp;lt;、 &amp;gt;、|、 &amp;amp; 逻辑运算类型:&...
  • (1)编写一个类,该类可以进行加、减、乘、除四则运算,并且可以输出运算结果。此外,对于除法,如果被除数为0,该类可以报错。对于加、减、乘、除之外的运算符,该类应该告知无法处理。 (2)编写一个包含主方法...
  • 计算机组成原理期末复习【超实用】

    万次阅读 多人点赞 2019-08-14 00:07:42
    二、计算题 第6章 运算方法和运算部件 定点原码一位乘:符号位单独计算,运算数取绝对值参与计算。 定点原码两位乘:提高了乘法速度,但仍基于重复相加和移位的思想,且随着乘数位数的↗,重复次数↗,仍影响乘法...
  • C#基础教程-c#实例教程,适合初学者

    万次阅读 多人点赞 2016-08-22 11:13:24
    OnePerson虽然存储的是Person类对象地址,但不是C中的指针,不能象指针那样可以进行加减运算,也不能转换为其它类型地址,它是引用型变量,只能引用(代表)Person对象,具体意义参见以后章节。和C、C++不同,C#只能用...
  • 慕课 哈工大 C语言 程序设计 第二周

    千次阅读 2020-03-02 11:27:12
    1输出逆序数(3分) 题目内容: 从键盘任意输入一个3位整数,编程计算并输出它的逆序数(忽略整数前的正负号)。例如,输入-123,则忽略负号,由123分离出其百位1、十位2、个位3,然后计算3100+210...利用取绝对值函...
  • 2018山西专升本数据结构知识点总结

    万次阅读 多人点赞 2018-06-29 19:41:36
    2018山西专升本数据结构知识点总结
  • #include&lt;iostream&gt; using namespace std; int Abs(int a, int b) { int c; if (a &lt; b) c = b - a; else c = a - b; return c; } double Abs(double a, double b) ... c...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 56,862
精华内容 22,744
关键字:

对数据进行绝对值运算的是