原码反码补码的相互转换_补码转化为反码

原码反码补码的相互转换_补码转化为反码原码反码补码的相互转换原码反码补码的转换还是比较简单基础的问题。之前学习java的时候就学过,后来忘记了,忘记了!!!,后来学了位移运算符,左移右移无符号右移之后就由有点儿懵了。原码,反码,补码二进制中第一位是符号位,0表示正数,1表示负数。以八位二进制数为例。原码十进制数正1的二进制原码[+1]原=00000001十进制数负1的二进制原码[-1]原…

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

Jetbrains全家桶1年46,售后保障稳定

原码 反码 补码的相互转换

原码 反码 补码的转换 还是比较 简单基础的问题。之前学习java的时候就学过,后来忘记了,忘记了!!!,后来学了位移运算符,左移 右移 无符号右移 之后就由有点儿懵了。

原码,反码,补码
二进制中第一位是符号位,0表示正数,1表示负数。
以八位二进制数为例。

  1. 原码
    十进制数正1的二进制原码 [+1] 原 = 0000 0001
    十进制数负1的二进制原码 [-1] 原 = 1000 0001
    第一位是符号位. 因为第一位是符号位, 所以
    8位二进制数的取值范围:[1111 1111 , 0111 1111]
    对应十进制 [-127 , 127] 范围。

  2. 反码
    反码的表示方法是:
    1.正数的反码是其本身
    2.负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.
    [+1] = [0000 0001]原 = [0000 0001]反
    [-1] = [1000 0001]原 = [1111 1110] 反

  3. 补码
    补码的表示方法是:
    正数的补码就是其本身
    负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)
    [+1] = [0000 0001]原 = [0000 0001]反 = [0000 0001]补
    [-1] = [1000 0001]原 = [1111 1110]反 = [1111 1111]补

  • 总结
    在知道一个数原码的情况下:
    正数:反码,补码 就是本身自己
    负数:反码是高位符号位不变,其余位取反。补码:反码+1

练习
-A(二进制数)原码转为补码 ,先减一再按位取反 或者 先按位取反再加1 。
-A (二进制数)补码转化为原码 :按位取反加1 减一再按位取反 注意第一位符号位不变。
符号位就是第一位,1是负数,0是正数。 不表示数值的大小
例子:
问:4补码为:0100 -4补码为:1100 ?
答:-4原码是 1000 0100 ; 反码(原码符号位不变,按位取反)是1111 1011 ;补码(反码加一)是 1111 1100
八位二进制中(假设是八位的):4 补码为:0000 0100 -4补码为:1111 1100
详解:
-4原码 转化为-4的补码过程 补码的转化
方法一: 1000 0100 减一 得1000 0011 按位取反得1111 1100
方法二 :1000 0100 按位取反得1111 1011 加一得 1111 1100
-4的补码转化为原码 按位取反但是符号位不变
方法一:1111 1100 按位取反 得 1000 0011 加一 0000 0100 取负数 得-4
方法二:1111 1100减一得 1111 1011 按位取反 1000 0100 取负数 得-4
记不住得话,记住,补码=原码按位取反再+1 ,原码=补码减一再按位取反 。
重点:
1.正数的,原码反码补码都相同。 以上规则是对于负数而言的。
2.正数与负数的原码 只差符号位的值,不一样 正数是0 负数是1 .

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

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

(0)
上一篇 2025年6月29日 下午1:43
下一篇 2025年6月29日 下午2:15


相关推荐

  • 无需配置!Qwen-Image-2512-ComfyUI一键部署保姆教程

    无需配置!Qwen-Image-2512-ComfyUI一键部署保姆教程

    2026年3月15日
    4
  • Vuforia添加虚拟按键

    Vuforia添加虚拟按键AR 虚拟按键为真实识别图上的按键 通过按键可以实现真实与虚拟之间的按键交流 一 添加按键点击 target 打开 advance 添加虚拟按键 即可在此 target 下添加虚拟按键注 虚拟按键无法旋转 只能更改长宽 可以通过 Name 给虚拟按键添加一个标识 通过 name 访问到此按键 二 按键触发 publicclassV MonoBehaviou

    2026年3月18日
    3
  • linux网络设置及解决无法连接网络_linux命令cp复制并更名

    linux网络设置及解决无法连接网络_linux命令cp复制并更名目录一、网络配置1、网络接口信息ifconfig1.1、查看1.2、配置临时配置:使用命令调整网络参数固定设置:通过配置文件修改网络参数2、主机名称hostname3、路由表条目route3.1、查看3.2、配置4、网络连接情况netstat5、获取socket统计信息ss6、测量命令的执行时间time二、网络连接1、网络连接ping2、跟踪数据包traceroute3、域名解析nslookup一、网络配置1、网络接口信息ifconfig1.1、查看●查看所有活动的网络接口信息

    2025年6月13日
    4
  • css半透明层

    css半透明层首次登录弹出提示层,主要有两个层:半透明层,遮住下面的内容;提示层(主要内容),下面为这两个层的css样式。针对IE透明使用的是filter:alpha(opacity=35),针对FF透明的相关代码是opacity:0.35,这样至少在IE和FF下是兼容的,通过测试。.mask{ border:0px; background:#000; width:100%; …

    2022年7月13日
    23
  • 黑苹果安装教程OC引导「建议收藏」

    黑苹果安装教程OC引导「建议收藏」小白安装指南1.从零开始,自制EFI,安装黑苹果2.网络下载EFI(80%可能你根本找不到能用的)3.黑苹果安装过程卡代码4.安装好黑苹果后引导修复5.修改BIOS5.其他可能有帮助的链接首先声明,我也是小白,只是总结一下我安装黑苹果过程中参考过的教程。以下内容如有帮助本人深感欣慰。最开始装黑苹果心里特别没底,不知从何下手,那先看1.从零开始,自制EFI,安装黑苹果推荐从零学习,大约需要5个小时自己就能安装黑苹果了。1.视频中使用的是OC0.6.5版本,现在已经升级到0.6.6但是并没有什么区

    2022年6月22日
    448
  • Android经典蓝牙开发全流程

    Android经典蓝牙开发全流程一 基本介绍 所谓蓝牙 Bluetooth 技术 实际上是一种短距离无线电技术 最初是由爱立信公司公司发明的 技术始于爱立信公司 1994 方案 它是研究在移动电话和其他配件间进行低功耗 低成本无线通信连接的方法 发明者希望为设备间的通讯创造一组统一规则 标准化协议 用来解决用户间相互不兼容的移动电子设备 1998 年 5 月 20 日 索尼以立信 国际商业机器 英特尔 诺基亚及东芝公司等业界龙头创立 特别兴趣小组 SpecialInter 即蓝牙技术联盟的前身 目标是开发一

    2026年3月19日
    1

发表回复

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

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