原码、反码和真值都不存在!

文章目录

  • 补码的理解
    • 十进制计算
    • 二进制计算
  • 补码和真值换算
    • 数制转换
    • 负数补码转真值
    • 负数真值转补码

:均来自 做而论道 答主的理解。

补码的理解

在计算机系统中,根本就没有原码和反码,真值也是不存在的。在计算机系统中,并不使用原码和反码,数值(也就是真值),一律采用补码表示和存储。补码、真值都和原码、反码毫无关系。

补码,其实是一个“代替负数”进行运算的正数。采用了补码之后,计算机中就没有负数了,也消除了减法运算。利用补码,可以简化算法,从而就能简化硬件。

补码(即正数)能代替负数,根源在于“计数系统的周期性”。

十进制计算

如果使用 2 位 10 进制数(0~99),计数周期就是 10^2 = 100。此时,就可以有:

25-1 = 2425 + 99 = (一百) 24

舍弃进位,只取两位数,这两种算法,功能就完全相同。

+99,就能代替-1。+98,也可以代替-2。这些“代替负数的正数”,就可称为“负数的补数”。

关系式:补数 = 负数 + 10^n。(n 是补数的位数。10^n 是 n 位数的计数周期)。

二进制计算

这个关系式,补数 = 负数 + 10^n,在计算机中,也可以使用。

8 位 2 进制:0000 0000~1111 1111 (十进制 255)。

它们的计数周期是:2^8 = 256。

计算机用二进制补数就改称为补码。

求负数补码的计算公式也是: 补码 = 负数 + 周期。

-1 补码就是:-1+256=255=1111,1111

-2 的补码是: 254 = 1111,1110

正数,不可转换,必须直接参加运算。所以,零和正数,并不存在补码。

计算机中的运算,也就是一些“二进制数”的运算,与人类使用的十进制数的运算,并没有多少的差异。“二进制数”的运算,根本就不需要格外的证明!!!

而且,“符号位原码反码取反加一符号位不变”,并没有理论依据。

补码和真值换算

知道补码,求真值,方法步骤,是非常简单的。既不用求“反码原码”,也不用想着“符号位不变”。“取反加一”或“减一取反”,都是不需要的。

直接进行数制转换即可。

数制转换

补码的首位,既是符号位,也代表数值。

如果是八位补码,首位 1 就是-128。

如果是 16 位补码,首位 1 就是-32768。

其余数值位都是正数。加在一起,就是真值。

负数补码转真值

有一个八位的补码,是 1000,1110

首位 1,既代表负数,也代表-128。其余都是正数:8+4+2=+14。求总和,故其真值就是:-114

另一个八位的补码,是0000,1110。其真值就是:8+4+2=+14

负数真值转补码

求负数的补码,方法是:[X]补=模+该负数。用不着原码反码。

-125的补码:先确定首位是1,即-128。数值位,那就是3 了。所以,[-125]补,就是 1000,0011

完全用不着"原码反码取反加一符号位不变 … "。

求-X 的补码,你就用二进制减法算一下“0-X”,很轻松的。求负数的补码,就是这么简单!

数值 0,存入到一个字节中,就是0000,0000。-1,你存入什么呢?显然是0-1

用二进制计算0-1,相减的结果,存到一个字节中,就是1111,11111111,1111就是-1的补码。

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

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

相关文章

java 远程调试

1.远程启动时 jdk1.8-32\jre\bin\java.exe -Dfile.encodingUTF-8 -Djava.library.pathlib -agentlib:jdwptransportdt_socket,servery,suspendn,address5005 -jar local-com.yuetai.service-0.0.1-SNAPSHOT.jar --spring.config.locationapplication.yml 2.本地调试项目连接远…

2024-06-01 Win 11 升级 TPM 2 问题

点击 Windows 更新,遇到报错,说是不支持 CPU 和 TPM 等,先是朋友给了一个链接文章,说是可以绕过,尝试后,只是少了 CPU 的报错,但 TPM 2 过不了。 后来在网上找到这篇文章, 先试了几…

JCR一区级 | Matlab实现TCN-BiGRU-MATT时间卷积双向门控循环单元多特征分类预测

JCR一区级 | Matlab实现TCN-BiGRU-MATT时间卷积双向门控循环单元多特征分类预测 目录 JCR一区级 | Matlab实现TCN-BiGRU-MATT时间卷积双向门控循环单元多特征分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现TCN-BiGRU-MATT时间卷积双向门控循环单元多…

一维时间序列信号的小波模极大值分解与重建(matlab R2018A)

数学上称无限次可导函数是光滑的或没有奇异性,若函数在某处有间断或某阶导数不连续,则称函数在此处有奇异性,该点就是奇异点。奇异性反映了信号的不规则程度,因为信号的奇异点和突变部分往往携带者重要信息,因此信号的…

JDK1.8新特性1

JDK1.8新特性1 JDK1.8新特性:Lambda表达式:使用:无参数无返回值:单参数无返回值:多参数无返回值:多参数有返回值: 案例:案例1:案例2:案例3: 函数式…

代码随想录训练营Day 42|力扣62.不同路径、63. 不同路径 II

1.不同路径 代码随想录 视频讲解:动态规划中如何初始化很重要!| LeetCode:62.不同路径_哔哩哔哩_bilibili 代码: class Solution { public:int uniquePaths(int m, int n) {// dp[i][j] 表示从起点走到坐标为i,j的地方…

全自动打包封箱机:解析其在产品质量与安全保障方面的作用

在当今快节奏的生产环境中,全自动打包封箱机以其高效、精准的特点,正逐渐成为生产线上的得力助手。它不仅提升了生产效率,更在产品质量与安全保障方面发挥着举足轻重的作用。星派将详细解析全自动打包封箱机在产品质量与安全保障方面的作用。…

css简单介绍

1.css介绍 css指的是层叠样式(Cascadingstyle sheets),是用来给HTML标签添加样式的语言。他可以设置HTML页面中 文字大小,颜色,对齐方式及元素的 宽高, 位置 等样式。 一个完整的网页是由HTML、CSS、Javascript三部分组成。HT…

CLIP--Learning Transferable Visual Models From Natural Language Supervision

参考:CLIP论文笔记--《Learning Transferable Visual Models From Natural Language Supervision》_visual n-grams模型-CSDN博客 openAI,2021,将图片和文字联系在一起,----->得到一个能非常好表达图片和文字的模型主题&#…

网络安全-钓鱼篇-利用cs进行钓鱼

一、环境 自行搭建,kill,Windows10,cs 二、原理 如图所示 三、钓鱼演示 首先第一步:打开System Profiler-分析器功能 选择克隆www.baidu.com页面做钓鱼 之后我们通过包装域名,各种手段让攻击对象访问:h…

Java面试题:Redis1_Redis的使用场景和如何解决Redis缓存穿透问题

Redis使用场景常见问题 缓存 缓存三兄弟(穿透,击穿,雪崩) 双写一致 持久化 数据过期策略 数据淘汰策略 分布式锁 setnx,redisson 消息队列,延迟队列 … 解决Redis缓存穿透问题 缓存穿透问题 请求->redis缓存->mysql数据库 当一个新请求到来时,先会访问redi…

JVM(Java虚拟机)笔记

面试常见: 请你谈谈你对JVM的理解?java8虚拟机和之前的变化更新?什么是OOM,什么是栈溢出StackOverFlowError? 怎么分析?JVM的常用调优参数有哪些?内存快照如何抓取?怎么分析Dump文件?谈谈JVM中,类加载器你的认识…

前端最新面试题(基础模块HTML/CSS/JS篇)

目录 一、HTML、HTTP、WEB综合问题 1 前端需要注意哪些SEO 2 img的title和alt有什么区别 3 HTTP的几种请求方法用途 4 从浏览器地址栏输入url到显示页面的步骤 5 如何进行网站性能优化 6 HTTP状态码及其含义 7 语义化的理解 8 介绍一下你对浏览器内核的理解? 9 html…

【C++】vector常见的使用方式

前言:在上一篇中我们讲到了string类的模拟实现,今天我们将进一步的去学习vector的一些常用的使用方法。 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:高质量C学习 👈 💯代码仓…

命运方舟台服注册 命运方舟台服怎么注册?不会操作看这里

命运方舟台服注册 命运方舟台服怎么注册?不会操作看这里 命运方舟作为今年备受瞩目的一款MMORPG类型游戏,在上线前的预约数量已经一次又一次创下新高。这款游戏的开发商Smile gate真是给玩家们带来了一款让人眼前一亮的作品。游戏创建在虚幻引擎的基础…

USACO 2019 December Contest, BronzeProblem 2. Where Am I? 题解

这道题目通过例子可以看出查找最长的相同子串&#xff0c;下一个长度如果没有找到相同的子串就是结果&#xff0c;需要写三个循环&#xff0c;第一个循环是是否存在长度为len的相同子串&#xff0c;第二个循环是从左往右截取长度为len的子串&#xff0c;第三个循环的条件是j<…

用esp prog烧录ESP32-C3板踩坑

附ESP32C3的GPIO一览&#xff1a; vscode选择Jtag烧录&#xff0c;终端输出esp_usb_jtag: could not find or open device&#xff1a; D:\Devtools\Espressif\tools\openocd-esp32\v0.12.0-esp32-20230921\openocd-esp32\bin\openocd.exe -f board/esp32s3-builtin.cfgOpen O…

【电路笔记】-带阻滤波器

带阻滤波器 文章目录 带阻滤波器1、概述2、典型带阻滤波器配置3、带阻滤波器示例14、陷波滤波器5、带阻滤波器示例26、总结带阻滤波器也称为陷波滤波器,阻止并拒绝位于其两个截止频率点之间的频率,并传递该范围两侧的所有这些频率。 1、概述 通过将基本 RC 低通滤波器与 RC …

Docker基础命令(三)

同步docker容器中的时间和本地时间一致 背景: 在很多时候, 训练模型的时候, 记录的log日志中标记的时间和实际的时间不一致, 往往是容器时间和本地时间不一致照成的. 方案 场景一: 正在运行的容器&#xff0c;可以宿主机直接执行命令给某个容器同步时间 #方法1 直接在宿主机…

ElasticSearch教程(详解版)

本篇博客将向各位详细介绍elasticsearch&#xff0c;也算是对我最近学完elasticsearch的一个总结&#xff0c;对于如何在Kibana中使用DSL指令&#xff0c;本篇文章不会进行介绍&#xff0c;这里只会介绍在java中如何进行使用&#xff0c;保证你看完之后就会在项目中进行上手&am…