13.郝斌C语言笔记——补码

原码:

    原码也叫 符号-绝对值码
    最高位0表示正, 1表示负, 其余二进制位是该数字的绝对值的二进制位
    例如:
        -5 的源码等于: 10101
    
    原码简单易懂
    加减运算复杂
    存在加减乘除四种运算,增加了CPU的复杂度
    零的表示不唯一

反码:

    反码运算不便,也没有在计算机中应用

移码:

    移码表示数值平移n位, n称为移码量
    移码主要用于浮点数的阶码的存储

补码:

    > 已知十进制求二进制
        - 求正整数的二进制
            除2取余,直至商为零,余数倒叙排序

        - 求负整数的二进制
            先求与该负数相对应的正整数的二进制代码,
            然后将所有位取反,末尾加1,不够位数时,左边补1
            例如:
                -3 等于: 11111111111111111111111111111101
                    等于: 十六进制的FFFFFFFD
        
        - 求零的二进制
            全是零
    
    > 已知二进制求十进制
        - 如果首位是0,则表明是正整数,按普通方法来求

        - 如果首位为1,则表明是负整数,
        将所有位数取反,末尾加1,所得数字就是该负数的绝对值
        例如:
            0xFFFFFFEF 等于 -17

        - 如果全是零,则对应的十进制数字就是零

学习的目标:

    在Vc++6.0中一个int类型的变量所能存储的数字的范围是多少
        int类型变量所能存储的最大正整数用十六进制表示是:  7FFFFFFF
        int类型变量所能存储的绝对值最大的负整数用十六进制表示是: 80000000
    
    绝对值最小负数的二进制代码是多少

    最大正数的二进制代码是多少

    已知一个整数的二进制代码求出原始的数字

    数字超过最大正数会怎样
        像8位的二进制最大正整数是 (01111111)二进制  = (127)十进制,
        那么 (128)十进制 = (10000000)二进制 = (-128)十进制
        //提示:可以参考上面补码的操作
        //超出8位,还是按低8位进行运算

    不同类型数据的相互转化

如有不对或者疏漏的地方,请多多指出。谢谢(⁄ ⁄•⁄ω⁄•⁄ ⁄)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值