首页 > 其他分享 >数据通信与编码的奇妙世界:单工、半双工、全双工与原码、反码、补码(建议收藏!!!)

数据通信与编码的奇妙世界:单工、半双工、全双工与原码、反码、补码(建议收藏!!!)

时间:2024-11-27 23:30:37浏览次数:7  
标签:反码 运算 补码 正数 原码 计算机

在计算机与通信的浩瀚领域里,单工、半双工、全双工以及原码、反码、补码宛如一颗颗璀璨的星辰,照亮着数据传输与处理的道路。

一、单工、半双工、全双工:数据传输的 “交通规则”

(一)单工通信:数据的 “单行线”

单工通信就像是一条只能单向行驶的道路。比如古老的烽火台传递军情,烽火台燃起烽火向远方传递有敌人来袭的信号,而远方的接收点只能接收,无法向烽火台反向传递信息。在这种模式下,数据传输是单向的,发送端只管发送,接收端只能接收,缺乏互动性。它适用于像一些简单的传感器数据采集,如马路上的噪音传感器,它只负责把采集到的噪音数据发送给监测中心,监测中心不会给它发送数据,因为其设计简单,所以成本较低,但在需要交互回应的场景就无能为力啦。

(二)半双工通信:数据的 “独木桥”

半双工通信好似一座独木桥,同一时间只能有一个方向的 “行人” 通过。对讲机就是很好的例子,当我们在户外探险时,使用对讲机交流,一方说话时,另一方只能倾听,等对方说完,才能回复。再比如早期的铁路信号灯控制,调度室向信号灯发送控制信号后,信号灯只能接收并执行,等状态改变后再反馈给调度室,且这两个过程不能同时进行。这种方式虽然有了一定的交互性,但由于不能双向同时传输,在数据传输频繁且要求快速响应的场景,就像上下班高峰期的独木桥容易造成拥堵一样,会出现延迟等问题。

(三)全双工通信:数据的 “双向高速路”

全双工通信仿佛是一条宽阔的双向高速路,数据可以在两个方向同时畅快地传输。如今的手机通话就是如此,双方既能同时说话又能同时听到对方声音,视频通话时画面和声音也能双向实时同步。就像在远程教学中,老师能看到学生的表情动作,学生能听到老师的讲解并随时提问,双方的数据交流毫无阻碍。这种模式交互性强、效率高,能满足各种复杂的多媒体交互需求,但它就像建设高速路一样,需要更高级的硬件和软件支持,成本自然也更高,而且在信号处理上就像高速路的交通管理一样,面临更多挑战。

二、原码、反码、补码:计算机里的 “数字魔法”

(一)原码:直白的 “数字画像”

原码像是给数字画的一幅直白的画像。在原码表示中,用最高位表示正负,0 为正,1 为负,其余位是数值大小。例如,在 8 位二进制里,+3 就是 00000011,-3 就是 10000011,就像我们用 “+”“-” 号标记正数和负数一样简单直观。在简单的库存管理系统中,如果用原码表示库存数量,正数表示库存有货,负数表示缺货,如库存有 5 件商品可表示为 00000101,缺货 2 件表示为 10000010。但它在做减法时就像个 “笨小孩”,要分别处理符号和数值,计算起来很麻烦,对计算机来说就会拖慢运算速度。

(二)反码:减法的 “小助手”(但不太完美)

反码像是原码在减法运算时的小助手。正数反码和原码相同,负数反码是除符号位外各位取反。比如 -3 的原码 10000011,反码就是 11111100。想象一个简易的倒计时器,如果用反码来计算倒计时的加减法,正数时间直接用原码,负数时间取反码后与正数相加来计算剩余时间。但这个小助手也有失手的时候,当两个负数相加时,结果常常会出错,就像这个小助手偶尔会算错答案,还需要额外的修正,所以在计算机运算里还不能完全胜任。

(三)补码:运算的 “万能钥匙”

补码则是计算机运算的 “万能钥匙”。正数补码与原码一样,负数补码是反码加 1。例如 -3 的补码是 11111101。在计算机计算 5 - 3 时,5 的补码是 00000101,-3 的补码是 11111101,相加得到 00000010,也就是 2 的补码,计算机能轻松得出正确结果。就像一把万能钥匙能打开各种复杂运算的锁,无论是正数还是负数的加减,都能统一用加法规则处理,大大简化了计算机运算电路,提高了运算速度和准确性,还能巧妙地处理数值溢出问题,让计算机在数值运算的海洋里稳稳航行。

单工、半双工、全双工掌控着数据传输的方式,原码、反码、补码主宰着计算机内数值的编码与运算。它们相互交织,共同构建起现代数据通信与计算机运算的宏伟大厦,是我们深入探索计算机与通信技术奥秘的重要基石。

“学如逆水行舟,不进则退。”愿此篇文章成为你在技术之舟上的有力浆橹。有任何感悟或困惑,可于评论区交流探讨。若觉有益,点赞,收藏不妨一试,也期待你关注我。在技术的漫漫征途中,愿与君相伴而行,共赏知识繁花盛景,同历成长蜕变之喜。

标签:反码,运算,补码,正数,原码,计算机
From: https://blog.csdn.net/2401_83606346/article/details/144096980

相关文章

  • 计算机组成原理实验四 四位补码运算器
    一、实验目的和要求掌握补码运算器的结构及工作原理;掌握补码加法器的工作原理。掌握层次化设计方法。二、实验内容设计一个能实现补码加法、减法、加1、左移、右移和直接传送功能的四位补码运算器。三、主要仪器设备操作系统为WINDOWSXP的计算机一台;数字逻辑与......
  • 3.Java 运算符(算术运算符、赋值运算符、逻辑运算符、关系运算符、三元运算符、标识符
    一、算术运算符1、基本介绍运算符说明+正号-负号运算符说明+加-减*乘/除%取模(取余)运算符说明示例结果++自增(前),先运算后取值a=2;b=++a;a=3;b=3;++自增(后),先取值后运算a=2;b=a++;a=3;b=2;–自减(前),先运算后取值a=2;b=--a;a=1;b=1;–自减(后),先......
  • JavaSE——进制转换、原码、反码、补码、位运算(左移、右移、取反)
    目录一、四种进制介绍二、进制的转换 (一)二进制—>十进制(二)八进制—>十进制(三)十六进制—>十进制(四)十进制—>二进制(五)十进制—>八进制(六)十进制—>十六进制(七)二进制—>八进制(八)二进制—>十六进制(九)八进制—>二进制(十)十六进制—>二进制三、原码......
  • Java的原码、反码和补码
    在Java中,原码、反码和补码是用来表示整数的三种不同的编码方式。这三种编码方式分别用来表示正数、负数以及0。原码:原码是整数的最基本的表示方式,它直接将整数的二进制表示出来。原码的表示方法是,最高位表示符号位(0表示正数,1表示负数),其余位表示整数的绝对值的二进制表示。......
  • 整数在内存中的存储&&原码反码补码
    目录1.整数在内存中以二进制的形式存在1.1(正数存储情况)1.2负数存储情况1.3整数的补码如何得到原码2.无符号整数的原反补码 小心!VS2022不可直接接触,否则!没这个必要,方源面色淡然一把抓住!顷刻炼化! 1.整数在内存中以二进制的形式存在1.1(正数存储情况)比如说数字2......
  • 认识原码反码补码
    目录一.何为原码反码和补码?(1)原码(2)反码(3)补码(4)总结二.原反补之间的简单计算(1)补码加法(2) 补码减法(3) 溢出问题一.何为原码反码和补码?(1)原码原码:直接将数值按照正负数的形式翻译成⼆进制得到的就是原码。符号位:最高位(最左边的位)用于表示符号,0......
  • 【计算机组成原理】2.2.3_3 补码加减运算电路
    2.2.3_3补码加减运算电路00:00各位同学大家好,在这个视频中我们会探讨怎么用电路去实现补码的加减运算。在之前的学习中我们知道了N比特加法器它的一个实现原理,给加法器输入N比特的被加数A以及N比特的加数B,同时加法器还可以接收来自于更低位的进位信息,经过加法器的电路处......
  • Python二级专项考点(原码、补码、反码)
    以下内容皆为本人原创,制作实属不易,请各位帅锅、镁铝点点赞赞和关注。OK,正片开始了一.定义(通俗易懂版)原码:原码是最直观的表示方法,它直接用二进制表示数值,最高位作为符号位,0表示正数,1表示负数。剩下的位表示数值本身。例如,十进制的+5在原码表示为00000101,-5则表示为100001......
  • 操作符详解(内含二进制与原、反、补码知识点)--还有超详细图解!一看就会!
    前言今天给大家分享一下C语言操作符的详解,但在此之前先铺垫一下二进制和进制转换与原码、反码、补码的知识点,都有详细的图解,也希望这篇文章能对大家有所帮助,大家多多支持呀!目录前言一、二进制和进制转换1.  10进制转化为10进制​2.  2进制转化为10进制 ​2.......
  • 计算机补码存储
    以下过程用8位的有符号char表示数据。1.计算机为什么用补码存储整数加法运行计算机是按照二进制存储的,并且计算机只会做加法,不会减法。首先看下加法,例如1+1=20000000100000001——————————00000010如果是1-1呢,因为计算机不会减法,......