计算机中数值的表示[原码,反码,补码]

2023-11-03

计算机里都是以补码的形式存储数据,电脑只能识别二进制的0和1,

0 表示正 1表示负 一个数的最高位定义为符合号位

一个字节(8位)为例

原码 :最高位符号位,0代表正数,1代表负数,非符号位为该数字绝对值的二进制。[X]原
[+1]原= 00000001 [+127]原=0111111
[ -1 ]原 =10000001 [ -127]原=11111111
[+0]原 = 00000000
[-0]原 = 10000000

反码:正数的反码与原码一致,负数的反码是对原码按位取反,只是最高位(符号位)不变。
[+1]反 = 00000001 [+127]反=01111111
[-1]反 = 11111110 [-127]反 =1000000

补码:正数的补码与原码一致,负数的补码是该数的 加1。
[+1]补=00000001 [+127]补=01111111
[-1]补=11111111 [-127]补=10000001

原码的最高位称为符号位(为0->正,1->负)(记忆方法:符号‘0’转90度还是0,符号‘1’转90度就是-负号)

正数的原码=正数的反码=正数的补码

负数的反码=它的原码符号位不变,其他位取反(0->1,1->0)

负数的补码=它的反码+1

可以说,反码是原码要转换成补码的一个 过渡阶段。

请添加图片描述
请添加图片描述
例如:

                    5              -5

原码: 00000101 10000101

反码: 00000101 11111010

补码: 00000101 11111011

现在让我们来看看计算机是如何进行运算的。

例如: 00000101

5+5 + 00000101

          ————————      

             =  00001010        2个数对应的补码相加得到的二进制为10

5+(-5)

              00000101

         +   11111011       2个数对应的补码相加得到的二进制为-10

      —————————

        =   100001010      

这个时候会发现进1到第9位了,我们研究的是1个字节8个位,只需要取

前面8个位就可以了,观察发现为00001010 为-10

打开电脑计算器点击程序员

1个字节最多能存储的数字是127

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机中数值的表示[原码,反码,补码] 的相关文章

随机推荐

  • 40 多名直接下属、从不 1 对 1 沟通,老黄如此管理下的英伟达能在 AI 芯片领域称霸多久?...

    省时查报告 专业 及时 全面的行研报告库 省时查方案 专业 及时 全面的营销策划方案库 免费下载 2023年8月份全网热门报告合集 ChatGPT提词示例 让你的ChatGPT聪明100倍 超百页干货资料 AI应用的难点 痛点与未来 202
  • It's Not Just Standing Up: Patterns of Daily Stand-up Meetings

    It s Not Just Standing Up Patterns of Daily Stand up Meetings Jason Yip ThoughtWorks Inc jcyip thoughtworks com http mar
  • VScode launch.json和tasks.json文件的配置

    task json version 2 0 0 command g args g file o file exe 编译命令参数 problemMatcher owner cpp fileLocation relative workspace
  • 高效的学习方法(费曼学习方法)

    学习技巧有四个简单的步骤 1 提取书本信息 阅读并理解 拿出一张白纸简要概括知识点以及对知识点进行深度拓展和横向拓展 深度拓展指增强知识点的理解深度 可以通过提问题的方式加强深度理解 横向拓展指增强其阅读广度 通过与其他学科建立关联 2 在
  • #pragma once和#ifndef / #define / #endif的区别

    转摘自 http www 360doc com content 10 0124 00 722458 14261695 shtml pragma once 指令格式如下 pragma once这是一个比较常用的指令 只要在头文件的最开始加入这
  • 华为OD机试 - 跳房子II(Java)

    题目描述 跳房子 也叫跳飞机 是一种世界性的儿童游戏 游戏参与者需要分多个回合按顺序跳到第1格直到房子的最后一格 然后获得一次选房子的机会 直到所有房子被选完 房子最多的人获胜 跳房子的过程中 如果有踩线等违规行为 会结束当前回合 甚至可能
  • c++什么时候使用new,调用构造函数

    new 补充 构造函数的调用 对象 可以调用成员函数 不可以调用构造函数 我们无法像调用成员函数那样使用对象来调用构造函数 因为在构造函数构造出对象之前 对象是不存在的 因此构造函数被用来创建对象 而不能通过对象来调用 详见 构造函数的4种
  • 三台机器搭建redis集群过程及问题记录

    文章目录 1 前言 2 搭建集群 3 遇到的问题 4 相关文章 1 前言 Redis版本 5 0 4 服务器版本 Linux CentOS 6 CentOS 7 CentOS 9 redis集群需要至少要三个master节点 我们这里搭建三
  • prometheus 服务发现原理

    服务发现 概述 如上图 Prometheus核心功能包括服务发现 数据采集和数据存储 服务发现模块专门负责发现需要监控的目标采集点 target 信息 数据采集模块从服务发现模块订阅该信息 获取到target信息后 其中就包含协议 sche
  • selenium+python:Excel 存储数据,在已存在的Excel修改写入数据 并保存

    三 Excel文件的写入 思路 新建Excel表格 新增该表格的工作表 根据指定的行和列写入数据 保存Excel表格 参考链接 http www cnblogs com chjbbs p 4153239 html 具体代码如图 4 所示 4
  • MyBatis学习(四):MyBatis使用代理方法(接口)实现数据库的操作

    在第一篇简单的mybatis示例中 我们简单的介绍了如何通过SQL映射文件来实现对数据库的操作 在对数据库操作的时候是采用上图中的1 2来实现对数据库的操作 见上图就可以实现对数据库的操作了 但是这样做还是不太方便 有没有更好的方法呢 接口
  • 基于流计算 Oceanus(Flink) CDC 做好数据集成场景

    由于第一次做实时 所以踩坑比较多 见谅 测试环境用的flink 小公司没有用到hadoop组件 一 踩坑记录 1 本地代码的flink版本是flink1 15 4 生产环境是flink1 16 1 在使用侧输出流时报错 需要使用以下写法 需
  • Candy Machine--前缀和&&二分查找

    任意门 JB loves candy very much One day he finds a candy machine with N candies in it After reading the instructions of the
  • Web Components简单用法介绍

    目录 Web Components 使用方法 一 自定义元素 自定义元素的方法 1 自定义UserCard类 2 使用浏览器原生的 customElements define 方法 告诉浏览器 user card 元素与该类相连 3 在页面
  • 【C++】入门 --- 缺省参数&函数重载

    文章目录 一 缺省参数 1 基本概念 2 缺省参数的分类 全缺省参数 半缺省参数 缺省参数实用案例 二 函数重载 1 函数重载概念 1 参数类型不同 2 参数个数不同 3 参数类型顺序不同 三 C 支持函数重载的底层原理 函数名修饰 一 缺
  • 本地服务器与云服务器哪个好?

    本地服务器和云服务器是企业可以使用的两种不同的服务器设置 主要区别在于本地服务器托管 第三方提供商托管云服务器 那么 本地服务器和云服务器哪个更好呢 接下来 将带大家讨论本地服务器和云服务器的优缺点 并帮助您确定哪些设置适合我们的数据保护和
  • Vue中启动提示polyfill缺少-webpack v5版本导致

    安装 npm i node polyfill webpack plugin 因为我们的项目使用webpack v5 其中polyfill Node核心模块被删除 所以 我们安装它是为了在项目中访问这些模块 vue config js文件 c
  • 树莓派4b安装Ubuntu 18.04系统及图形桌面

    文章目录 1 准备工作 1 1 硬件 1 2 下载树莓派镜像 1 3 下载树莓派镜像工具 2 安装系统 2 1 SD卡格式化 2 2 安装系统 3 连接热点 4 启动树莓派 5 更改软件源 6 安装桌面 7 参考文献 8 树莓派开机后wif
  • 面向对象与面向过程

    文章目录 概述 半天的活动 将此思想用于指导开发编程 以下内容纯属个人理解 和胡说八道 如有雷同 绝对是抄袭 2023 05 01 22 14 概述 一种对理解面向对象毫无帮助的 对指导编程毫无意义的 绝对正确的废话是 面向对象就是万事万物
  • 计算机中数值的表示[原码,反码,补码]

    计算机里都是以补码的形式存储数据 电脑只能识别二进制的0和1 0 表示正 1表示负 一个数的最高位定义为符合号位 一个字节 8位 为例 原码 最高位符号位 0代表正数 1代表负数 非符号位为该数字绝对值的二进制 X 原 1 原 000000