原码补码反码转换「建议收藏」

原码补码反码转换「建议收藏」一、机器数和真值在学习原码、反码和补码之前,需要先了解机器数和真值的概念。1、机器数一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号,正数为0,负数为1.比如,十进制中的数+2,计算机字长为8位,转换成二进制就是00000010。如果是-2,就是10000010。那么,这里的00000010和10000010就是机器数。2、真值机器数的第一位是符号位,后边才是真正的数值,所以机器数的形式值就不等于真正的数

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一、机器数和真值

在学习原码、反码和补码之前,需要先了解机器数和真值的概念。

1、机器数

一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号,正数为0,负数为1.

比如,十进制中的数 +2 ,计算机字长为8位,转换成二进制就是00000010。如果是 -2 ,就是 10000010 。

那么,这里的 00000010 和 10000010 就是机器数。

2、真值

机器数的第一位是符号位,后边才是真正的数值,所以机器数的形式值就不等于真正的数值。例如上面的有符号数10000011,其最高位1代表负,其真正数值是 -2 而不是形式值130(10000010转换成十进制等于130)。所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。

例:

0000 0001的真值 = +000 0001 = +1

1000 0001的真值 = –000 0001 = –1

二、原码、反码、补码的基础概念和计算方法

原码补码反码转换「建议收藏」

 

1. 原码

原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。比如如果是8位二进制:

[+1](原码) = 0000 0001

[-1](原码) = 1000 0001

第一位是符号位。因为第一位是符号位,所以8位二进制数的取值范围就是:

[1111 1111 , 0111 1111]

[-127 , 127]

原码是人脑最容易理解和计算的表示方式。

2. 反码

反码的表示方法是: 正数的反码是其本身,负数的反码是在其原码的基础上,符号位不变,其余各个位取反。

[+1] = [00000001](原码)= [00000001](反码)

[-1] = [10000001](原码)= [11111110](反码)

可见如果一个反码表示的是负数,人脑无法直观的看出来它的数值。通常要将其转换成原码再计算。

3. 补码

补码的表示方法是:正数的补码就是其本身,负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1 (即在反码的基础上+1)。

[+1] = [00000001](原码) = [00000001](反码) = [00000001](补码)

[-1] = [10000001](原码) = [11111110](反码) = [11111111](补码)

对于负数,补码表示方式也是人脑无法直观看出其数值的。通常也需要转换成原码在计算其数值。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192905.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • RDN论文阅读笔记

    RDN论文阅读笔记“ResidualDenseNetworkforImageSuper-Resolution”发表于CVPR2018论文:https://arxiv.org/abs/1802.08797代码:https://github.com/yulunzhang/RDNhttps://github.com/lizhengwei1992/ResidualDenseNetwork-Pytorc…

    2022年6月18日
    28
  • 机器人slam技术_激光二维扫描仪

    机器人slam技术_激光二维扫描仪机器人开发–二维激光SLAM介绍1SLAM简介1.1概述1.2应用1.3历史发展2SLAM中3个模块2.1前端里程计模块实现原理实现方法2.2后端优化模块2.3回环检测模块参考1SLAM简介1.1概述SLAM本质就是确定自己在哪里的哪里,如在苏州中心的正东边66米处。SLAM(SimultaneousLocalizationandMapping),也称为CML(ConcurrentMappingandLocalization),即时定位与地图构建,或并发

    2022年8月23日
    7
  • Path和ClassPath差异

    Path和ClassPath差异

    2022年1月7日
    59
  • 2018 PyCharm环境安装教程[通俗易懂]

    2018 PyCharm环境安装教程[通俗易懂]环境准备:1.到PyCharm官网下载PyCharm安装包。2.下载了window版本的双击安装包进行安装。3.自定义软件安装路径(建议路径中不要中文字符)如:F:\DevSoftware\PyCharm2018.14.创建桌面快捷方式并关联*.py文件。5.选择开始菜单文件夹(默认即可),点击安装。6.耐心等待安装。7.安装完成,勾选立即运行PyCharm。8.选择是否导入开发环境配置文件,我…

    2022年8月27日
    5
  • Python全栈工程师(每周总结:2)

    Python全栈工程师(每周总结:2)ParisGabrielParisGabriel感谢大家的支持每天坚持一天一篇点个订阅吧灰常感谢当个死粉也阔以weeksummer:Python人工智能从入门到精通字符串st

    2022年7月5日
    27
  • 蓝牙开发经验总结

    蓝牙开发经验总结蓝牙开发经验总结

    2022年6月23日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号