C++ 原码、反码、补码理解笔记
电脑是以补码形式来表示数字的。正数:原码,反码,补码都相同 ;负数:反码为除符号位外按位取反,补码为反码+1。
- 如-1这个负数:
-1的补码:1111 1111
-1的反码:1111 1110
-1的原码:1000 0001
比如我们平时看到5000的无符号短整数(16位整数),其实是原码(位模式)转换成反码再转换成补码后显示的结果,所以如果要知道原码是多少,需要反向转换一下,即从补码转成反码再转成原码。
1) 补码:无符号短整数 50,000在计算机中存储时是补码11000011 01010000
2) 反码:减1变成反码,1100001101010000 - 1 = 1100001101001111
3)原码:取反,变成原码,not 1100001101001111 = 0011110010110000,即15536,再因为补码最高位是1,所以是-15536
但是5000的二进制是0001001110001000,最高位是0,正数,所以补码、反码、原码都一样,位模式也是5000
附上一个简单好用的进制转换器链接link
C++ 原码、反码、补码理解笔记相关推荐
- 原码, 反码, 补码详解——北大陈向群老师课堂笔记
一. 机器数和真值 在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念. 1.机器数 一个数在计算机中的二进制表示形式, 叫做这个数的机器数.机器数是带符号的,在计算机用一个数的最高位存放符 ...
- 原码反码补码原理理解
原码反码补码原理理解 基础知识 原码 定义 在这里,我们模仿一下计算机对数据运算的过程! 那么所有运算都是正确的吗?我们再试一组. 反码 定义 在这里,我们模仿一下计算机对数据运算的过程! 正数加负数 ...
- 补码原码反码简单理解
补码原码反码简单理解 看到一句I2S的data是以补码形式来表现数据.再次查阅得出以下只管结论: ####1,首先直观举例机器里面是如何存放有符号数的:#### 1在机器里面表示为 0000 0001 ...
- 关于计算机中 原码, 反码, 补码 详解
本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希 ...
- 原码, 反码, 补码, 移码 详解
本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希 ...
- 原码 反码 补码 详解
一. 机器数和真值 在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念. 1.机器数 一个数在计算机中的二进制表示形式, 叫做这个数的机器数.机器数是带符号的,在计算机用一个数的最高位存放 ...
- 原码 反码 补码 详解
本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希 ...
- 【程序员必修数学课】-基础思想篇-二进制-原码反码补码的数学论证
二进制计数法&原码&反码&补码 Ⅰ 前言 Ⅱ 二进制计数法 A. 什么是二进制计数法? B. 为什么要使用二进制? C. 二进制的位运算 D. 符号位 E. 溢出 Ⅲ 原码&a ...
- [例题详解]真值 机器数概念 | 原码 反码 补码 移码 概念及加减计算
目录 真值和机器数 原码 反码 补码 移码 对比记忆 | 原 反 补 移码 加减法 | 原码 补码 结语 | 大学生学习复习资料 真值和机器数 真值:-5.+10 机器数(带符号数)(= 符号位 [0 ...
- 二进制八进制十进制十六进制及原码反码补码
1.进制的介绍 定义:进位制,人们规定的一种进位方式:表示某一位置上的数,运算时是逢X进一位. 十进制是逢十进一:二进制是逢二进一,八进制是逢八进一: 常见进制:二进制,八进制,十进制,十六进制: 学 ...
最新文章
- 安全可控、依法合规 人工智能落地金融领域“讲原则”
- 你是怎样给下属分配工作
- 1亿组图文对,填补中文开源多模态数据集空白!还附带基础模型,来自华为诺亚方舟实验室...
- 同时设置超时时间_刚入职的小菜鸡,设错了RPC超时,搞了个线上事故
- python并且怎么表示_Python-如何在Python中表示“Enum”?
- P2634 [国家集训队]聪聪可可(树上启发式合并)
- 拼多多:钟汉良出任“百亿补贴”星推官
- 机试题:地图定位、拍照并显示、录制视频并播放
- Cesium 加载天地图
- 十大常用算法(C++版)
- ubuntu18重启vncserver_Ubuntu 18.04 LTS安装vncserver虚拟网络控制台
- 熊猫烧香病毒作者再被捕 开网络赌场敛财
- MPU6050读取实验
- 163邮箱如何注册呢?
- java sqlite sqlite_busy_sqlite3出现SQLITE_BUSY错误码的原因以及解决方法
- 【虚幻4】从U3D到UE4的转型之路
- 七大江河水系--黑龙江
- 臭可乐,怎么才能让你不吃便便呢,唉
- 做一个软件需要了解的知识
- mysql 怎样解锁表_mysql一键解锁表
热门文章
- 程序员保值的五个关键点
- 网络编程学习笔记(IPv4套接口选项)
- map中批量图层的加载和展示
- 2019夏第八周学习编辑总结
- element-ui + vue + node.js 与 服务器 Python 应用的跨域问题
- Ubuntu 之 atom 安装以及 常用配置
- 爬虫基础学习 转【http://www.cnblogs.com/huangxincheng/archive/2012/11/08/2759752.html】
- 【C++ Primer学习笔记】第1章:快速入门
- 日本地铁公益广告 拒绝三俗!
- Java计算一个对象所占内存大小_Java程序计算各种对象所占内存的大小的方法