zoukankan      html  css  js  c++  java
  • java学习之负数的进制

    在上一篇内容当中说明了什么是进制,进制存在的原因以及形式,接下来说一下一个比较特殊的进制计算,就是负数的在计算机当中的表示。举个个例子来说

    6的二进制表示是什么?

    0000-0000-0000-0000-0000-0000-0000-0110
    

    那么-6的二进制又是如何计算的呢?

    答:就是对-6的二进制取反之后再加1(二进制的1),即得到其补码

    一个正数的负值就是正数的二进制最高位补一
    -6:1000-0000-0000-0000-0000-0000-0000-0110
    对它取反,也就是0变1,1变0,但是最高位符号位除外:
         1111-1111-1111-1111-1111-1111-1111-1001
    之后再对这个数加1(二进制的1)这里要注意一点符号位也就是最高位除外,即:
         
         1111-1111-1111-1111-1111-1111-1111-1001
    +    0000-0000-0000-0000-0000-0000-0000-0001
    --------------------------------------------------------------------
         1111-1111-1111-1111-1111-1111-1111-1010   (这个就是负数在计算机中表示的方式,因为计算机只能做加法不能做减法,只能以补码的形式表示)      
    
    这个便就是负数在计算机中的表示                 
    

      

    知识点拾遗:

    正确的理解正负数的补码反码的表示:

      1、正数的补码、反码都是它本身。

      2、负数的反码是除最高位即符号位以外的位取反(0变1,1变0),负数的补码就是在反码的基础上除最高位即符号位以外,然后最后一位加1(二进制的1)  

      3、正0和负0的补码相同

  • 相关阅读:
    BZOJ 3041 水叮当的舞步
    Codevs 1744 格子染色==BZOJ 1296 粉刷匠
    洛谷P1077 摆花
    1256 打鼹鼠
    mybatis--面向接口编程
    柳峰微信公众平台开发教程企业号改动篇(企业菜单篇)
    com关于引用计数
    oracle用户管理实例
    用 JSQMessagesViewController 创建一个 iOS 聊天 App
    循环链表设计与API实现
  • 原文地址:https://www.cnblogs.com/sunchuanzhen/p/3308093.html
Copyright © 2011-2022 走看看