当前位置: 首页 > news >正文

原码,反码,补码

原码

什么是原码

原码:十进制数据的二进制表现形式,最左边是符号位,0为正,1为负

最大值 0 1 1 1 1 1 1 1 => +127

最小值 1 1 1 1 1 1 1 1 => -127

原码的弊端

利用原码对正数进行计算是不会有问题的

但是如果是负数计算,结果就会出错,实际运算结果,跟我们预期结果是相反的。

反码

目的

为了解决不能计算负数的问题而出现的

计算规则

正数的反码不变,负数的反码在源码的基础上,符号位不变,数值取反,0变1,1变0。

例:

-56 原码 1 0 1 1 1 0 0 0

-56 反码 1 1 0 0 0 1 1 1

反码的弊端

负数运算时,结果不跨0,没问题,结果跨0,跟实际结果会有1 的偏差

补码

目的

为了解决负数计算时跨0的问题而出现的

计算原则

正数的补码不变,负数的补码在反码的基础上+1

正数的原码,反码,补码相同

补码的注意点

计算机中存储和计算机以补码的形式进行的

-128 = > 1 0 0 0 0 0 0 0 没有原码和反码

所以一个字节取值单位 -128~127

<< 向左移动,低位补0

(8) 00001000 << 2 = > (32) 00100000

右移: >>向右移动,高位补0 或 1(补1补0跟原来的保持一致)

(8) 00001000 >> 2 => (2) 00000010

无符号右移 >>> 向右移动,高位补0

相关文章:

  • 嵌入式烧录报错:板端IP与PC的IP相同
  • STM32控制max30102读取血氧心率数据(keil5工程)
  • js实现文件下载,并传给后端
  • Linux 软链接与硬链接
  • 【MySQL】_自连接与子查询
  • 小项目——学校宿舍楼系统
  • Nest.js权限管理系统开发(二)连接MySQL、Redis
  • Uniapp在IOS系统打包测试流程
  • leetcode 重复的子字符串
  • android开发电子书,android基础编程
  • 服务器数据恢复-服务器RAID5上层XFS文件系统分区数据恢复案例
  • 【vue+element ui】大屏自适应中el-select下拉内容在低分辨率下显示不全问题解决
  • ad18学习笔记十六:如何放置精准焊盘到特定位置,捕抓功能的讲解
  • 如何用golang写一个自己的后端框架
  • Android RecyclerView 如何展示自定义列表 Kotlin
  • 230. Kth Smallest Element in a BST
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • django开发-定时任务的使用
  • es6
  • github从入门到放弃(1)
  • happypack两次报错的问题
  • Less 日常用法
  • MySQL QA
  • Objective-C 中关联引用的概念
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • 初识 webpack
  • 简单实现一个textarea自适应高度
  • 每天10道Java面试题,跟我走,offer有!
  • 深度学习在携程攻略社区的应用
  • 什么是Javascript函数节流?
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 通过git安装npm私有模块
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 关于Android全面屏虚拟导航栏的适配总结
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (1)STL算法之遍历容器
  • (11)MATLAB PCA+SVM 人脸识别
  • (23)Linux的软硬连接
  • (C语言)fgets与fputs函数详解
  • (笔试题)分解质因式
  • (定时器/计数器)中断系统(详解与使用)
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (算法二)滑动窗口
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (一)RocketMQ初步认识
  • (转)创业的注意事项
  • (转)大型网站的系统架构
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • (转)原始图像数据和PDF中的图像数据
  • (轉貼) UML中文FAQ (OO) (UML)
  • .naturalWidth 和naturalHeight属性,
  • .NET 3.0 Framework已经被添加到WindowUpdate
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件