• 计算机的原反补码


             *  计算机内:
             *     原码:计算机中对数字的二进制定点表示方法,原码表示法在数值前面增加了一位符号位(即最高位为符号位):正书该位为0,负数该位为1,其余位表示数值的大小,0有两种表示:+0 和 -0
             *     反码:反码是数值存储的一种,多应用于系统环境设置,反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外
             *     补码:在计算机系统中,数值一律用补码来表示和存储,补码表示法规定:正数的补码与其原码相同,负数的补码是在其反码的末位加1

    补码的加法运算所依据的基本关系为:
    [x]补+ [y]补= [x+y]补
    补码减法所依据的基本关系式:
    [x-y]补 =[x+(-y)]补= [x]补+ [-y]补

    求原反补码&计算机做加法的例子:

    15 - 27的过程:
             *  转二进制:00001111  -00011011
             *  得到原码:
             *      00000000 00000000 00000000 00001111  10000000 00000000 00000000 00011011
             *   得到反码:
             *      00000000 00000000 00000000 00001111  11111111 11111111 11111111 11100100
             *   得到补码:
             *      00000000 00000000 00000000 00001111
             *      11111111 11111111 11111111 11100101
             相加得到:  11111111 11111111 11111111 11110100
             *    转反码:
             *      11111111 11111111 11111111 11110011
             *    转原码:
             *      10000000 00000000 00000000 00001100
             *    转二进制:
             *      - 1100
             *    转10进制:
             *      - (8 + 4) = -12

    参考链接:http://www.cnblogs.com/flowerszhong/p/6798781.html

    这里注意:

      为什么byte的最小值是-128在使用这种公式法补码的时候无法得到信服的解释。补码就是我们数据在计算机中存储的形态,我们着里得到的只是公式,补码的真正意义看我的另一篇博客:补码的来源以及为什么byte的最小值是-128

    有疑问地方欢迎留言。

  • 相关阅读:
    java简单学习笔记20190211及以前
    java简单学习笔记20190206
    java简单学习笔记20190205
    java简单学习笔记20190202
    java学习简单笔记20190130
    java简单学习笔记20190127
    java简单学习笔记20190126
    角色用例表
    原型图
    a标签,选中当前菜单后高亮
  • 原文地址:https://www.cnblogs.com/aigeileshei/p/10422529.html
Copyright © 2020-2023  润新知