• 原码反码补码移码


    原码:第一位是符号位,0正1负;其他位为二进制表示

    反码:第一位是符号位,0正1负;若为负数,其他位为原码取反

    补码:原码除符号位各位取反加1或反码末尾加1

    移码:n为机器字长,2的n-1次方为移码的偏移量,例[+45]=+0101101+10000000,   [-45]=-0101101+10000000=01010011。补码符号位取反即移码

    小数表示亦同,其中〔-1〕补=2+(-1)=10.00···0+(-1.00···0)=1.00···0 

    算术移位:左移若不溢出相当于乘2,右移若不考虑舍去末位,相当于除2

      正数:均在空位补0

      负数:原码补0;反码补1;补码左移补0右移补1(左邻右1)

    逻辑移位:一律添0

    四则运算:

      原码:减法,减数符号位取反,再进行加法计算

      补码:加法减法,符号位一起参加运算,符号位的进位丢掉,结果的符号位由运算得出

    溢出判断(补码):

      单符号位:参加操作的两个符号位相同,结果若与原操作数不同则溢出

      双符号位:又称模4补码。设AB位两个符号位AB=00 结果正,无溢出 =11结果负无溢出 01正溢出 10负溢出

    乘除运算未完待续

  • 相关阅读:
    关于iterator的一点疑惑
    shuffle()方法
    List简单使用笔记
    Arrays.asList()
    多项式ADT(数组存储多项式系数和指数)笔记
    《数据结构与算法分析C语言描述》源码网盘分享
    C语言实现链表
    typedef的用法
    #ifndef的用法
    mysql创建数据库和数据表模板
  • 原文地址:https://www.cnblogs.com/psymacome/p/8003983.html
Copyright © 2020-2023  润新知