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

原码补码反码转换「建议收藏」一、机器数和真值在学习原码、反码和补码之前,需要先了解机器数和真值的概念。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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm 激活码 永久 2021【中文破解版】

    (pycharm 激活码 永久 2021)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月22日
    66
  • 直通线交叉线「建议收藏」

    直通线交叉线「建议收藏」

    2022年6月19日
    31
  • (转)java 数组转字符串 字符串转数组

    (转)java 数组转字符串 字符串转数组java 数组转字符串字符串转数组转载地址 https www cnblogs com ooo0 p 9169311 html 字符串转数组使用 Javasplit 方法 split 方法根据匹配给定的正则表达式来拆分字符串 注意 和 等转义字符 必须得加 多个分隔符 可以用 作为连字符 字符串转数组 java la

    2025年10月31日
    3
  • win10查看激活时间

    win10查看激活时间win10查看激活时间1、使用Windows+R组合快捷键打开运行命令框运行:slmgr.vbs-dlv命令可以查询到Win10的激活信息,包括:激活ID、安装ID、激活截止日期等信息。看不懂的继续往下。2、运行:slmgr.vbs-dli命令可以查询到操作系统版本、部分产品密钥、许可证状态等。3、运行:slmgr.vbs-xpr命令可以查询Win10是否永久激活…

    2022年5月30日
    50
  • python如何读写excel文件「建议收藏」

    python如何读写excel文件「建议收藏」python读写excel的方式有很多,不同的模块在读写的方法上稍有区别:用xlrd和xlwt进行excel读写;用openpyxl进行excel读写;用pandas进行excel读写;为了方便演示,我这里新建了一个data.xlsx…

    2022年4月19日
    48
  • java取整和java四舍五入方法

    java取整和java四舍五入方法doublei=2,j=2.1,k=2.5,m=2.9;   System.out.println(“舍掉小数取整:Math.floor(2)=”+(int)Math.floor(i));   System.out.println(“舍掉小数取整:Math.floor(2.1)=”+(int)Math.floor(j));   System.out.println

    2022年5月21日
    48

发表回复

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

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