原反补码(从地址里讲解原反补)
简介数据的原反补码
一、概念的介绍
1. 原码:第一位为符号位 ,正数存储的是0,负数存储的是1
2. 反码:1->0 0->1 符号位不变
3. 补码:补码就是反码+1
4. 注意:正数的原反补码都等于原码
二、例子详解
例子1:char类型1个字节8位,也就是8个存储
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
---|
由图可以知道第一位为符号位因此可以存储变量的范围是-(27-1) ~ (27 -1)但是你发现实际存储的大小是-27(-128) ~ 27-1(127),为什么呢?仔细查看发现出现一种 1 0 0 0 0 0 0 0情况,这个是-0,因为-0根本不存在,因此设计出的-0为当前进位的最小值也就是-27.因此char的存储范围为-27(-128) ~ 27-1(127)。
符号类型 | byte | bit | 范围 |
---|---|---|---|
char | 1 | 8 | -27(-128) ~ 27-1(127) |
short | 2 | 16 | -215(-32 768) ~ 215-1(32 767) |
int | 4 | 32 | –231(-2 147 483 648) ~ 231-1(2 147 483 647) |
long | 4 | 32 | -231(-2 147 483 648) ~ 231-1(2 147 483 647) |
long long | 8 | 64 | -263(-9.2233720368548e+18) ~ 263-1(9.2233720368548e+18) |
char | 1 | 8 | 0 ~ 28-1(255) |
unsigned short | 2 | 16 | 0 ~ 2^16-1(65 535) |
unsigned int | 4 | 32 | 0 ~ 232-1(4 294 967 295) |
unsigned long | 4 | 32 | 0 ~ 232-1(4 294 967 295) |
unsigned long long | 8 | 64 | 0 ~ 264-1(1.844674407371e+19) |
例子2:
10进制数 | 原码 | 补码 | 反码 |
---|---|---|---|
1 | 00000001 | 00000001 | 00000001 |
-1 | 10000001 | 11111110 | 11111111 |
三、注意事项
1. 正数的原反补码一致
2. 反码取反的时候符号位不会改变
3. 计算机存储的都是反码
4. 临界值问题
例子:
-128 =10000000 - 00000001 = 01111111=127
127=0111111+00000001 = 100000000 = -128
四、引用
https://blog.csdn.net/weixin_42856843/article/details/81989737
原反补码(从地址里讲解原反补)相关推荐
- 2022-03-30 西安 javaSE(02)基本数据类型转换、自增运算、三元运算符、原反补码位运算
基本数据类型取值范围从小到大 1.byte<short<int<long<float<double 面试题:long占8个字节,float占4个字节,为什么float的取 ...
- 原反补码的相互转换、补码加减法计算规则及例题
原.反.补码 正整数的原码.反码和补码是一样的 对于负数: 1.2. 原码 ⇋ 反码:符号位不变,数值位按位取反 3.4. 原码 ⇋ 补码:符号位不变,数值位按位取反,末位 + 1 5. 反码 → 补 ...
- 补码加减c语言,C语言计算器含二进制数加减原反补码(自己的期末作业)
用C++6.0编写的计算器,内含整数小数加减乘除.二进制数组加减及求原码补码反码! #include #include int main() { void top(); void no1(),no2( ...
- c语言实现补码加减,C语言计算器含二进制数加减原反补码(自己的期末作业)
用C++6.0编写的计算器,内含整数小数加减乘除.二进制数组加减及求原码补码反码! #include #include int main() { void top(); void no1(),no2( ...
- 数据类型长度、原反补码及移位
1 数据类型 java中: byte 8位 1字节 short/char 16位 2字节 int 32位 4字节 long 64位 8字节 float 32位 4字节 double ...
- 16位二进制补码 c语言,2,16进制原码补码反码问题
1. 在计算机里,通常用数字后面紧跟一个英文字母来表示该数的数字, 十进制一般用D,二进制用B,八进制用O,十六进用H来表示, 2. 首先,十进制数转换成二进制,除2取余,按箭头方向写,自上而下写出来 ...
- C语言中 真值/原码/补码/反码 的概念
这里我们以十进制数+12和-12为例,解释C语言中的 真值.原码.补码.反码 概念.先来一点补充前提: - C语言中,数字有 int.float.double类型,占内存分别为2.4.8个字节.这里我 ...
- 计算机组成原理——基本组成 进制转化 奇偶校验 原码 反码 补码 移码 移位 原码补码乘法除法 IEEE754 加法器ALU
笔记来源于王道考研视频 第一章 通过电信号传递信息(低电平代表0,高电平代表1) 计算机系统 计算机系统=硬件+软件 软件 系统软件 应用软件 操作系统,数据库管理系统(DBMS),标准程序库(编程时 ...
- 原码反码补码的概念,以及原码反码的表示形式
本文主要讲解计算机的原码, 反码和补码.的概念,以及原码反码的表示形式,以及原码反码补码之前如何相互转换,还有计算机中数字是怎么样存储的. 原码: 假设机器字长为n,原码(自然二进制码)是一种计算机中 ...
最新文章
- 幸运 - 一种可以学习的简单技能
- 【4】青龙面板系列教程之QQ通知机器人XDD-plus安装
- 企业官网示例以及数据库表结构
- 【学习笔记】【Design idea】一、Java异常的设计思想、性能相关、笔记
- 《Linux内核设计与实现》读书笔记(二)- 内核开发的准备
- 流式套接字(SOCK_STREAM),数据报套接字 (SOCK_DGRAM) 的比较
- 前端学习(2180):vue-router全局导航守卫
- private-bower
- 详解Parcel:快速,零配置web应用打包工具
- rk3399固件烧录方法介绍
- 十二导联动态心电图技术参数
- 纯html 404页面,一款纯css3实现的漂亮的404页面_html/css_WEB-ITnose
- 生命游戏(Anylogic实现)
- NSSM 制作 window 服务
- c语言 牛逼代码,装逼技巧:程序员如何用代码证明自己牛逼!
- curl myip.ipip.net curl ip.cn curl cip.cc
- destoon php版本,Destoon 7.0最新版常见问题解决方法
- xcode9 IphoneX 调试
- 论文研读 —— 4. You Only Look Once Unified, Real-Time Object Detection (1/3)
- 利用Google Earth卫星图更新地形图地物
热门文章
- 一二线城市知名IT互联网公司名单
- 【HTML | CSS】春节将至,为网页挂上精美的灯笼吧(附源码)程序员的浪漫
- flickr 照片自动保存_Flickr照片栏画廊
- Arduino Cloud 现已支持乐鑫 ESP32-S2、S3 和 C3
- 制定计算机视觉方面的学习规划
- Swift编程的15个技巧
- react中CodeMirror (代码编辑器)
- uwsgi多线程阻塞的问题导致接口一会儿正常一会报服务器错误
- C++/C语言sizeof关键字详解
- 安装了java但是系统显示没安装_我的世界 已经安装了java,但还是显示没有安装,怎么办...