c语言求一个字符数的补码,C语言-数据类型(原码、反码、补码)

2023-11-11

(1) 原码:在数值前直接加一符号位的表示法。

例如: 符号位 数值位

[+7]原= 0 0000111 B

[-7]原= 1 0000111 B

注意:a. 数0的原码有两种形式:

[+0]原=00000000B [-0]原=10000000B

b. 8位二进制原码的表示范围:-127~+127

(2)反码:

正数:正数的反码与原码相同。

负数:负数的反码,符号位为“1”,数值部分按位取反。

例如: 符号位 数值位

[+7]反= 0 0000111 B

[-7]反= 1 1111000 B

注意:a. 数0的反码也有两种形式,即

[+0]反=00000000B

[- 0]反=11111111B

b. 8位二进制反码的表示范围:-127~+127

(3)补码的表示方法

12)补码的表示:

正数:正数的补码和原码相同。

负数:负数的补码则是符号位为“1”,数值部分按位取反后再在末位(最低位)加1。也就是“反码+1”。

例如: 符号位 数值位

[+7]补= 0 0000111 B

[-7]补= 1 1111001 B

补码在微型机中是一种重要的编码形式,请注意:

a. 采用补码后,可以方便地将减法运算转化成加法运算,运算过程得到简化。正数的补码即是它所表示的数的真值,而负数的补码的数值部份却不是它所表示的数的真值。采用补码进行运算,所得结果仍为补码。

b. 与原码、反码不同,数值0的补码只有一个,即 [0]补=00000000B。

c. 若字长为8位,则补码所表示的范围为-128~+127;进行补码运算时,应注意所得结果不应超过补码所能表示数的范围。

2.原码、反码和补码之间的转换

由于正数的原码、补码、反码表示方法均相同,不需转换。

在此,仅以负数情况分析。

(1) 已知原码,求补码。

例:已知某数X的原码为10110100B,试求X的补码和反码。

解:由[X]原=10110100B知,X为负数。求其反码时,符号位不变,数值部分按位求反;求其补码时,再在其反码的末位加1。

1 0 1 1 0 1 0 0 原码

1 1 0 0 1 0 1 1 反码,符号位不变,数值位取反

1 +1

1 1 0 0 1 1 0 0 补码

故:[X]补=11001100B,[X]反=11001011B。

(2) 已知补码,求原码。

分析:按照求负数补码的逆过程,数值部分应是最低位减1,然后取反。但是对二进制数来说,先减1后取反和先取反后加1得到的结果是一样的,故仍可采用取反加1

有方法。

例:已知某数X的补码11101110B,试求其原码。

解:由[X]补=11101110B知,X为负数。求其原码表示时,符号位不变,数值部分按位求反,再在末位加1。

1 1 1 0 1 1 1 0 补码

1 0 0 1 0 0 0 1 符号位不变,数值位取反

1 +1

1 0 0 1 0 0 1 0 原码

1.3.2 有符号数运算

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

c语言求一个字符数的补码,C语言-数据类型(原码、反码、补码) 的相关文章

  • JavaScript---必看的8个高频笔试题 覆盖JS大部分知识

    前言 通过这8道题 你将了解到JavaScript中的 变量的作用域提升即声明提前 函数也有作用域提升 ES6中的let和const不会造成变量的作用域提升 作用域和闭包 ES6中的箭头函数 JavaScript的核心 事件循环机制 事件循
  • html兼容性速查,HTML 5标签、属性、事件及兼容性速查表

    HTML 5 可以说是近十年来 Web 标准最巨大的飞跃 和以前的版本不同 HTML 5 并非仅仅用来表示 Web 内容 它的使命是将 Web 带入一个成熟的应用平台 在这个平台上 视频 音频 图象 动画 以及同电脑的交互都被标准化 尽管
  • Python显微外周血细胞图像增强颜色变换4种多层感知分类器

    显微外周血细胞图像数据 正常外周血数据集包含总共 17 092 个单个细胞的图像 这些图像是使用分析仪 CellaVision DM96 采集的 所有图像均在颜色空间 RGB 中获得 图像的格式和大小分别为 jpg 和 360 363 像素
  • 敏捷方法论的前世今生- 敏捷历史,敏捷宣言与敏捷12条原则

    敏捷方法论的前世今生 敏捷方法的历史 敏捷一词来源于2001年初美国犹他州雪鸟滑雪胜地的一次敏捷方法发起者和实践者 他们发起组成了敏捷联盟 的聚会 迭代和增量开发方法最早可以追溯到二十世纪三十年代非软件项目 二十世纪六十年代美国航天局水星计
  • vc中如何获取打开文件名

    在编制程序的过程中 很多时候我们需要从外部存储器中获取文件名 如果你知道文件路径 那很容易解决 但是不知道文件路径的话 怎么办呢 其实答案地球人都知道 那就是vc提供的 打开文件对话方块 怎么使用它呢 请看代码 include
  • JS实现Excel表格数据的导出

    方法一 js实现 Vue2 3都可以实现 首先需要2个JS文件 文章下方会给出 或者这俩个js搜一下应该都有的 页面2个按钮 data数据 JS如下 先点击模拟发送请求 再导出数据结果如下 实现多层结构导出 完整代码
  • docker常用应用部署

    docker相关的应用部署的总体步骤 步骤1 获取对应镜像 步骤2 生成容器 外部是不能直接访问容器数据的 但是可以通过容器跟主机间的端口映射来间接访问容器数据 所以必须要带上 p参数 格式为 p 主机 宿主 端口 容器端口 外部设备可以通
  • 傻白入门芯片设计,一颗芯片的诞生(九)

    CPU生产和制造似乎很神秘 技术含量很高 许多对电脑知识略知一二的朋友大多会知道CPU里面最重要的东西就是晶体管了 提高CPU的速度 最重要的一点说白了提高主频并塞入更多的晶体管 由于CPU实在太小 太精密 里面组成了数目相当多的晶体管 所
  • 邮件系统市场行情分析

    前言 随着网络信息化的不断发展 邮件系统也日益成为企业对外沟通交流的重要工具 成为了企业的刚需 随着邮件系统技术的不断完善与发展 企业对于邮件系统功能的也提出了更高的要求 市面上逐渐诞生了众多的品牌和厂家 不同的厂家在系统的功能特点以及售后
  • Zookeeper集群设置一键启动/一键停止脚本

    学习目标 设置一键启动 Zookeeper 脚本 设置一键停止 Zookeeper 脚本 设置一键启动 Zookeeper 脚本 进入目录 cd export servers zookeeper 3 4 5 cdh5 14 0 bin 编写
  • VUE3【学习三】:setup方法,三个插槽的使用及区别,父子组件传值

    一 setup是vue3新出的一个配置项 组件中的所有方法 数据等都可写在setup里面 并且比beforeCreate和created这两个生命周期还要早出现 这就出现一个问题 即里面this打印出来为undefine 找不到了 所以以后
  • C/C++:01. C过渡到C++

    文章目录 前言 1 C 和C的历史渊源 2 C 中的 class 和C中的 struct 3 C 命名空间 名字空间 详解 3 1 namespace 是C 中的关键字 用来定义一个命名空间 语法格式为 3 2 namespace 的使用规
  • 时序预测

    时序预测 Python实现CNN SVM卷积支持向量机时间序列预测 目录 时序预测 Python实现CNN SVM卷积支持向量机时间序列预测 基本描述 模型描述 程序设计 参考资料 基本描述 Python实现CNN SVM卷积支持向量机时间
  • React09——使用脚手架编程

    使用create react app创建react应用 react脚手架 xxx脚手架 用来帮助程序员快速创建一个基于xxx库的模板项目 包含了所有需要的配置 语法检查 jsx编译 devServer 下载好了所有相关的依赖 可以直接运行一
  • 求解:AttributeError: module ‘requests‘ has no attribute ‘args‘解决方法

    运行id request args get id 报错 解决办法 导入 from flask import request 我搜了一下 好多都没有解决办法 问题解决了的小伙伴动动发财的小手给点点赞吧
  • python 从CSV文件中读取数据并画日期折线图

    python 从CSV文件中读取数据并画日期折线图 代码环境 python 3 7 PyCharm 2019 1 1 问题描述 用pandas read csv读取文件中的数据后 希望以第一列 时间 为横轴 以第五列 数字数据 为纵轴画出日
  • 关于ADC_NbrOfChannel与ADC_RegularChannelConfig

    ADC NbrOfChannel是设置要转换的总通道数 ADC RegularChannelConfig 是配置各个通道 里面的第2个参数是你的通道名 第3个参数是这个通道名的转换顺序号 就是转换顺序怎么定义的 就是在第3个参数定义的 例
  • python依赖管理工具

    python依赖管理方案 pip作为python默认的包管理工具 提供了在线安装python依赖包的工具 但是内置的pip freeze默认打包整个机器上的python依赖环境 不太友好 下面简单介绍4个常用的依赖管理工具 pip pip
  • xpath定位元素方法_前端css基础篇(三) background背景元素position定位以及清除浮动的四种方法...

    一 background背景元素 1 background color背景颜色 可以简写 background 默认值是transparent 透明 不能继承 2 background image背景图片 可以简写background ur

随机推荐

  • 背包问题动态规划

    1 01背包问题 有N件物品 背包容量为V 第i件物品占容量c i 价值是w i 求装入哪些物品背包的价值最大 每个物品只能放一次或零次 动态规划思想很简单解决 用一个数组f i v 来表示前i件物品 容量为v的最大价值 那么推出转移方程f
  • 内存泄漏的场景

    当然可以 以下是每个场景的详细例子以及解决方法 未被释放的全局变量 例子 function leakMemory globalVar new Array 1000000 join leakMemory 解决方法 使用var let cons
  • 知乎爬虫(一)

    项目github地址 https github com Lee Jiazheng zhihu spider 知乎作为一个内容平台 有大量的新奇内容值得我们爬取 承受前人诸多知识 所以也写点东西为初学者提供一个学习的途径 爬虫 就是在一张大网
  • BUCK电源芯片BST引脚100nF电容的作用

    BUCK电源芯片大部分都有一个BOOT或者BST的引脚 这个引脚一般通过一个100nF的电容接到我们的开关输出引脚SW 那么大家知道这个100nF电容的作用吗 首先大家来看下BUCK芯片BOOT和SW引脚的内部结构 一般是由两个NMOS组成
  • finally用法

    一 finally是否执行 1 只有与 finally 相对应的 try 语句块得到执行的情况下 finally 语句块才会执行 当finally 相对应的 try 语句块之前 已经抛出错误 或者已经返回 return 就不会执行final
  • git查询和设置用户名及邮箱

    由于从原来的旧机子换到了新机子 很多东西都需要重新来 包括git 在vscode终端中安装了git 也ssh连到了远程的仓库 以为一切都ok了 在本地完成任务要推到远程时 告诉我说远程不知道我的身份 需要指明用户名和邮箱 我是个不太记东西的
  • AI算法实现与云平台应用

    陈迪豪 第四范式先知平台架构师 个人兴趣广泛 在开源社区比较活跃 维护了1600 star的容器Web管理平台Seagull 大二加入了小米做Android移动端开发 然后有幸学习到后端基础架构技术 参与了HBase ZooKeeper等社
  • 线程通信例题(12A34B56C.....5152Z)/ 生产者消费者面包超市...

    两个线程实现 一个线程专门打印数字 一个线程专门打印字母12A34B56C78D 5152Z public class Test public static void main String args Resource resource n
  • n行Python代码系列:两行代码将JSON文本转换成标准字典类型

    老猿Python博文目录 https blog csdn net LaoYuanPython article details 98245036 一 引言 最近看到好几篇类似 n行Python代码 的博文 看起来还挺不错 简洁 实用 传播了知
  • 大数据技术——VMbox的安装和网络配置

    大数据实训案例 实验报告 题目 大数据实验环境搭建 姓名 xxx 学号 xxxxxxx 实验日期 2023 x x 一 实验目的 1 掌握Linux操作系统的安装和使用方法 2 掌握hadoop的安装和使用方法 二 实验平台 操作系统 Ub
  • [USACO08FEB]修路Making the Grade

    题目链接 走这里 题目分析 考虑绝对值的几何意义 显然 b 里的数一定在 a 里出现过 离不离散化问题不大 用下标作第二位状态就行 设 dp i j 表示第 i 个数 高度为 a j 时的最优解 方程见代码 代码 include
  • Spring第38篇:定时器详解(@Scheduled & @EnableScheduling)

    Spring中 Scheduled EnableScheduling 这2个注解 可以用来快速开发定时器 使用特别的简单 如何使用 用法 1 需要定时执行的方法上加上 Scheduled注解 这个注解中可以指定定时执行的规则 稍后详细介绍
  • OSS实现文件上传

    本文主要讲解mall整合OSS实现文件上传的过程 采用的是服务端签名后前端直传的方式 文章目录 OSS OSS中的相关概念 OSS的相关设置 开通OSS服务 创建存储空间 跨域资源共享 CORS 的设置 服务端签名后前端直传的相关说明 流程
  • python3 GUI- 登陆界面

    python3 GUI 登陆界面 from tkinter import root Tk def Show root1 Tk if En get user and En1 get 123 Label root1 text 登陆成功 bg G
  • 全新防火墙6.0 DHCP线路上网配置

    一 组网需求 外网接口使用DHCP 内网为192 168 1 0 24网段 实现基本上网功能 二 网络拓扑 三 配置要点 1 配置接口 wan1口 务必勾选 从服务器重新得到网关 这样dhcp地址获取成功后设备会自动生成默认路由 无需手动配
  • 详细记录Pycharm配置已安装好的Conda虚拟环境

    当安装好conda环境之后 想要在Pycharm中使用 那么就要在Pycharm中导入 我这里使用的pycharm professional 2023 2这个版本 下面是详细步骤 1 打开File gt Settings 2 找到Proje
  • 从0开始搭建高仿华为云教育课堂官网(一)创建项目和搭建导航栏

    之前上过一些华为云的前端教育课程 最终考核是以vue为基础搭建一个华为云教育课堂的官网 网址如下 https classroom devcloud huaweicloud com home 下面记录一下搭建网站的全过程 使用vuecli 4
  • android 杀死三方app

    这是杀死后台应用 并且非保护程序 非系统程序 1 ActivityManager am ActivityManager context getSystemService Context ACTIVITY SERVICE Log i kill
  • JQuery 判断访问的浏览器是pc还是手机

    摘要 以下代码用于JQuery判断访问的浏览器的类型 判断访问类型是电脑还是手机 author 2017年9月27日 function var mobile flag isMobile true为PC端 false为手机端 if mobil
  • c语言求一个字符数的补码,C语言-数据类型(原码、反码、补码)

    1 原码 在数值前直接加一符号位的表示法 例如 符号位 数值位 7 原 0 0000111 B 7 原 1 0000111 B 注意 a 数0的原码有两种形式 0 原 00000000B 0 原 10000000B b 8位二进制原码的表示