二进制算术运算

news/2024/12/21 18:14:31/

两个数码表示数量大小时,可以进行加减乘除等算术运算。

一:两数绝对值之间的运算

        加法运算:

                二进制的每一位只有0和1两个数,低位向高位的进位关系是“逢二进一”,所以中的每一位的运算规则为:

         减法运算:

        乘法运算:

         除法运算:

 二:数字电路正负的表示及补码运算

        1:正负数的表示方法(正->0        负->1)

                二进制的原码表示法:+53 = (0 110101)

                                                    -53 = (1 110101)

        2:二进制补码运算

 结论:在舍掉进位的情况下,两数相减(或符号不同的两数相加)可以用补码来实现。

举例:

        1110 - 0110 = 1000                                1110 + 1010 = 11000 = 1000(舍弃进位)

        (14  -   6      =   8)                                     (14   + 10     - 16        =   8)

        0110 + 1010 = 2^4  >==> 1010是 -0110 对2^4(16)的补码

        ( 6    +    10  = 16)              10  是    -6    对2^4(16)的补码

        3:二进制补码的表示方法(N指二进制数码)

                当N为正数时:其原码、反码和补码等于原码。

                当N为负数时:根据补码的运算规则 (N)comp = 2^n - N

                                        二进制N的反码 (N)inv = (2^n - 1)-N

                                        (N)inv +1 = (N)comp

                                        二进制负数的补码等于反码加1

                举例:计算二进制补码计算14-9

                       14:0 01110(原码 = 反码 = 补码)

                       -9:1 01001 (原码)

                       -9:1 10110 (反码)

                       -9:1 10111 (补码)

                                                

 用补码相加得到的和仍是补码,如果想求负数的绝对值,应对它再求一次补码

                举例:计算二进制补码 -14-9

                         -9:1 10111 (补码)

                        -14:1 01110(原码)

                        -14:1 10001(反码)

                        -14:1 10010(补码)

 三:“用补码相加得到的和仍是补码,如果想求负数的绝对值,应对它再求一次补码。”的详细讲解

        在计算机中,负数通常使用补码表示补码是表示负数的一种二进制编码方式。对于一个负数,求补码的方法是将它的二进制表示取反(即0变1,1变0),然后再加上1。

        现在我们以一个负数 -5 作为例子来说明。-5 的二进制表示(补码)是 1011(负数的最高位为符号位,1 表示负数)。现在我们按照补码的求法来进行计算:

  1. 将 -5 的二进制表示取反,得到:0100。
  2. 将取反后的结果加上1,得到:0101。

所以,使用补码表示的 -5 的绝对值是 5,即 0101 的十进制表示。

        因此,这句话的意思是,如果你想求一个负数的绝对值,可以先将该负数的二进制表示取反得到补码,然后再对补码再次进行取反运算,最后得到的结果就是该负数的绝对值。这是由于补码的性质,经过两次取反操作,负数转换成了正数。


http://www.ppmy.cn/news/739086.html

相关文章

C语言究竟是一门怎样的语言?

对于大部分程序员,C语言是学习编程的第一门语言,很少有不了解C的程序员。 C语言除了能让你了解编程的相关概念,带你走进编程的大门,还能让你明白程序的运行原理,比如,计算机的各个部件是如何交互的&#xf…

【深度学习】1. yolov5 推理速度和batchsize的增长关系,推理并行处理多张图片,显存如何手动释放

文章目录 前言1. batchsize和推理速度的关系2. 修改batchsize尝试2.1 benifit(好处)2.1 编码batchsize下的推理2.2 发现问题2.2.1 推理结束后,占用显存不释放。 2.3 其它有用的参数设置 前言 yolov5的detect.py 是默认batchsize1的&#xff…

HDMI接口 HDCP

现在带HDMI接口的芯片都支持HDCP协议,做硬件设计、驱动时,应注意如下问题: HDMI是通过DDC的DSCL和DSDA引脚读取内嵌在芯片内核的KSV密钥,所以必须确保硬件上正确的连接(EDID也是通过DDC来访问的,DDC的介绍…

常见的高清视频接口(HDTV、VGA、DVI、HDMI)

在家用电器、电脑和IT数码领域里,有很多种视频接口,例如:射频(RF)接口、复合视频(AV)、S端子、HDTV(色差)、VGA、DVI、HDMI等等。在这些视频接口中,能达到高清视频输出要求的,只有最后的四个,即HDTV、VGA、DVI、HDMI。 怎样才算达到“高清视频输出”呢?最少能…

高清晰度多媒体接口, HDMI 1.4介绍

高清晰度多媒体接口, HDMI 1.4介绍 FOLLO 高清晰度多媒体接口(High Definition Multimedia Interface,简称HDMI)是一种全数字化视频和音频传送接口技术,采用同一条电缆就能同时传送无压缩的音频信号及视频信号,大大简化…

HDMI协议解析

本文从软件工程师角度对HDMI spec进行解析,基于的spec版本为1.4,也是设备支持最多最成熟的版本,目前最新版本为2.0。 1 概述 HDMI(High-Definition Multiface Interface)是Hitachi, Panasonic, Philips, SiliconImag…

智能远传水表管理解决方案

随着科技的不断发展,智能化已成为现代城市建设的重要趋势。智能远传水表作为智能供水系统的重要组成部分,已成为越来越多城市自来水公司、物业公司和居民用户的首选。本文将从以下几个方面介绍智能远传水表管理解决方案。 一、智能远传水表的特点 智能远…

C++—函数、对象复用、零拷贝、标准库

函数 函数调用的压栈过程 #include <iostream> using namespace std;int f(int n) {cout << n << endl;return n; }void func(int param1, int param2) {int var1 param1;int var2 param2;printf("var1%d,var2%d", f(var1), f(var2));//如果将…