原码_反码_补码_移码的知识

  • 机器数:将符号“数字化”的数,以二进制在计算机中形式。
    • 1、符号数字化`
      2、其数的大小受机器字长的限制
public class Number{
    public static void main(String[] args){
        int num1 = 'A' + 1;
        System.out.println(num1);//结果为66
        int num2 = 'A';
        System.out.println(num2);//结果为65
        int num4 = 'a';//
        System.out.println(num4);//结果为97
        int num3 = '中';
        System.out.println(num3);//结果为20013
    }
}
  • 机器字长:计算机进行一次整数运算所能处理的二进制数据的位数(整数运算即定点整数运算)。因为计算机中数的表示有定点数和浮点数之分,定点数又有定点整数和定点小数之分,这里所说的整数运算即定点整数运算。机器字长也就是运算器进行定点数运算的字长,这里以八位字长运算,通常也是CPU内部数据通道的宽度。

  • 真值: 符号位 + | 数值位 |

    • 如:真值 X = - 1011 ,原码 X =1 0001011
  • 原码、反码、补码、移码的概念
    • 原码:最高位为字符号,其余位为数值位(内容以二进制数表示)。
      • 字符位:正数为0,负数为1
      • 数值位:以概数的绝对值表示
      • 如:以十进制 X = +11,【X】原= 0 0001011;以十进制 X = - 11, 【X】原 =1 0001011。
    • 反码:最高位为字符号,其余位为数值位(内容以二进制数表示)。
      • 在原码的基础上取反:字符位不变,数值位依次取反(0变1, 1变0)。
      • 如:【X】原= 0 0001011 ,则【X】 反=0 0001011(正数);
        • 【X】原 =1 0001011 ,则【X】 反=1 1110100(负数)。
    • 补码:最高位为字符号,其余位为数值位(内容以二进制数表示)。
      • 在反码的基础上 + 1 :字符位不变,数值位依次加1 。
      • 如:【X】原= 0 0001011 ,则【X】 反=0 0001011 ,则【X】 补=0 0001011(正数);
        • 【X】原 =1 0001011 ,则【X】 反=1 1110100 ,则【X】 补=1 1110011 (负数)。
    • 移码:最高位为字符号,其余位为数值位(内容以二进制数表示)。
      • 在补码的基础上取反:字符位取反,数值位不变 。
      • 如:【X】 补=0 0001011 ,则【X】 移=1 0001011(正数);
        • 【X】 补=1 1110011 ,则【X】 移=0 1110011 (负数)。
  • 注意事项:
    • 正数的原码、补码、反码之间转换字符位以及数值位不变
      • 原码及反码存在正负零,以机器字长八位为例,取值范围 [ - 127 , + 127 ] 。
      • 补码不存在正负零,以八位为例,取值范围 [ - 128 , + 127 ] 。
      • 移码是字符位的0为负,1为正。
      • 取值公式为 - 2^(n - 1) <= X <= 2 ^(n - 1) - 1 。
  • 原码、反码、补码、移码的意义

    • 反码:解决负数加法运算问题,将减法运算转换为加法运算,从而简化运算规则。
    • 补码:解决负数加法运算正负零问题,弥补反码的不足 。
      这里写图片描述
  • 同余定理的概述

  • 两个整数除以同一个整数,若得相同余数,则二整数同余。
    • 给定一个正整数m,如果两个整数a和b满足a-b能够被m整除,即(a-b)/m得到一个整数,那么就称整数a与b对模m同余,记作a≡b(mod m)。对模m同余是整数的一个等价关系。
    • 例如26≡2(mod 12),
    • 1.反身性:a≡a (mod m);
      2.对称性:若a≡b(mod m),则b≡a (mod m);
      3.传递性:若a≡b(mod m),b≡c(mod m),则a≡c(mod m);
      4.同余式相加:若a≡b(mod m),c≡d(mod m),则a c≡b d(mod m);
      5.同余式相乘:若a≡b(mod m),c≡d(mod m),则ac≡bd(mod m)。
发布了18 篇原创文章 · 获赞 3 · 访问量 1076

猜你喜欢

转载自blog.csdn.net/hjh_cos/article/details/81865904