手把手带你拿捏计算机原码、反码、补码的计算原理

大家先判断下下面代码的运行结果


答案:

如果你做对了,并且知道计算机底层原理是如何计算出这个答案的,那么恭喜大佬,这篇博客可能对你收益不大,全当复习好了,这是专门针对编程小白初学计算机底层计算原理的讲解,诚挚地希望能够到xdm。接下来我将开始我的讲解,手把手带xdm拿捏这两个操作符的运算。

基本概念:

原码:

直接将二进制按照正负数的形式翻译成二进制就可以。

反码:

将原码的符号位不变,其他位依次按位取反就可以得到了。

补码:

反码+1就得到补码。

扩展:

1、在计算机中我们能看到的数值都是原码。
2、在计算机系统中,数值一律用补码来表示和存储,而不是我们看到的原码。原因在于:使用补码可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理(CPU只有加法器),此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。
3、反码起到原码和补码之间转换的媒介作用。

4、在计算机中,正数的原、反、补码都是相同的。

代码演示:

整体演算

注:内存1代表的是joyous变量,内存2代表的是jubilant变量,内存3代表的是charmed变量
首先是3个变量的随机初始化

3个变量的指定初始化

经过运算后的结果

附1:

若大家看不懂编译器的大小端存储,这边建议你看下我的这篇博客,这是专门讲编译器的大小端存储的

编译器大小端存储讲解

演示代码提取:

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main()
{int joyous = -1, jubilant = 1;int charmed = 6;charmed = joyous + jubilant;printf("%d\n", charmed);return 0;
}//计算机在进行整形类型的算术运算时是采用补码的方式来进行计算的//-1在计算机内存中的存储
//10000000000000000000000000000001(原码)
//11111111111111111111111111111110(反码)
//11111111111111111111111111111111(补码)//1在计算机内存中的存储
//00000000000000000000000000000001(正数的原、反、补码相同)//11111111111111111111111111111111(-1的补码)
//00000000000000000000000000000001(1的补码)
//00000000000000000000000000000000(计算出的结果)

备注:

楼主不才,不喜勿喷,若有错误或需要改进的地方,非常感谢你的指出,我会积极学习采纳。谢谢家人们一直以来的支持和鼓励,我会继续努力再接再励创作出更多优质的文章来回报家人们的。编程爱好的xdm,若有编程学习方面的问题可以私信我一同探讨(我尽力帮),毕竟“众人拾柴火焰高”,大家一起交流学习,共同进步!

2021.11.25

一把王者的时间带你拿捏计算机原码、反码、补码的计算原理相关推荐

  1. 一把王者的时间带你拿捏计算机中整形提升的问题

    计算机中整形提升讲解 附1: 计算机的底层计算原理 大家猜猜下面程序的运行结果是多少? 如果你的答案是0,那么恭喜你答对了. 解析:那么答案为什么是0呢?接下来我就用计算机底层的计算原理手把手告诉你这 ...

  2. 原码一位乘法器设计_十分钟带你彻底搞懂原码、反码、补码

    点击上方"程序员大白",选择"星标"公众号 重磅干货,第一时间送达 编辑 | 程序员大白公众号来源丨https://www.cnblogs.com/zhangz ...

  3. 一把王者的时间,学会generate语句【Verilog高级教程】

    芯片设计验证社区·芯片爱好者聚集地·硬件相关讨论社区·数字verifier星球 四社区联合力荐!近500篇数字IC精品文章收录! [数字IC精品文章收录]学习路线·基础知识·总线·脚本语言·芯片求职· ...

  4. 室友一把王者的时间我拿捏了数据结构——顺序表(C语言版)

    话不多说,先上整体动态顺序表实现的代码给大家 SeqList.h #include <stdio.h> //包含标准输入输出流的头文件 #include <assert.h> ...

  5. 【纯JavaSE】图书管理系统(带精解注释)舍友一把王者的时间,我完成了一个纯Java的基础入门小项目~

  6. 一把王者的时间,我就学会了Nginx

    作者 | 步尔斯特 来源 | CSDN博客 Nginx 简介 Nginx("engine x")是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能力强,事实上 n ...

  7. 室友利用一把王者的时间就学会了【C语言结构体内存对齐】

    文章目录 一.什么是结构体内存对齐? 二.结构体的对齐规则 结构体内存对齐规则的具体应用 三.为什么会存在内存对齐 总结 提示:以下是本篇文章正文内容,下面案例可供参考 一.什么是结构体内存对齐? 从 ...

  8. 一把王者的时间,我就学会了 Nginx

    一.Nginx 简介 Nginx("engine x")是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能力强,事实上 nginx 的并发能力确实在同类型的网页服 ...

  9. 一把王者的时间就写完了一个nginx的web集群项目

    构建一个基于nginx的web集群项目 一.什么是负载均衡? 二.为什么需要负载均衡? 1.编译安装nginx 2.解决软件的依赖关系,需要安装的软件包 3.新建luogan用户和组 4.下载ngin ...

最新文章

  1. Java的native关键字
  2. 砖家:游戏账号交易属违法行为 相关部门应严厉打击
  3. 前后台传值乱码问题解决
  4. android如何让service不被杀死-提高进程优先级
  5. Python协程--实现斐波那契数列(Fibonacci)的几种方式
  6. android系统电视缺点,高清智能电视安卓系统优势与不足解析
  7. 十三不香了?不止去掉刘海,iPhone14或改用QLC闪存:最高2TB容量
  8. tomcat中request对象是被创建的_Python中对象的创建与引用
  9. python安装idle_怎么在windows下的Python开发工具IDLE里安装其他模块
  10. WEB框架研究笔记七(Spring2+struts2)
  11. linux内核C -- 第08课:变参函数的格式检查——format
  12. 微信小程序 购物车代码
  13. Mybatis3.5.4官网下载
  14. 基于QT实现的数独游戏DPLL的SAT求解器设计
  15. Ubuntu20.04下载安装CMake
  16. L2TP/IPSec一键安装脚本
  17. oracle数据库imp命令,数据库imp导入命令
  18. 【学术相关】明尼苏达大学博导“约法十章”火了:没事不乱开会、合写论文不要催导师,复旦教授直呼值得学习...
  19. 优酷 Android 包瘦身治理思路全解
  20. Android 百度地图api 问题 汇总

热门文章

  1. matlab做kmo检验的代码,KMO检验
  2. 3DMax学习:一:安装
  3. Windows电脑用户都应该知道的好安全软件和防护知识
  4. 华硕笔记本 BIOS SLIC 2.1 汇总帖
  5. mysql自增默认值_mysql auto_increment自增初始值与步长
  6. CSS3实现背景颜色渐变
  7. vue3中简单的使用百度地图
  8. ISO13485认证流程
  9. 【Deeplearning】暗影精灵3安装Windows10+Ubuntu18.04双系统及CUDA10.0配置
  10. 部分最小二乘回归分析matlab,MATLAB如何用偏最小二乘回归法做预测?跪求大神帮忙 - 程序语言 - 小木虫 - 学术 科研 互动社区...