• 进制之间转换——day_01


    一、计算机文件大小单位

    b = bit 位(比特)
    B = Byte  字节
    1B = 8b  #一个字节等于8位  简写
    1Byte = 8 bit   
    1KB = 1024B
    1MB = 1024KB
    1GB = 1024MB
    1TB = 1024GB
    1PB = 1024TB
    1EB = 1024PB

    二、进制之间的转换 (数字都是0开始,在几进制的基础上少1,从0计算)

    二进制:由2个数字组成,有0和1    例如:0b101

    八进制:由8个数字组成,有0,1,2,3,4,5,6,7  例如:0o127

    十进制:由10个数字组成,有0,1,2,3,4,5,6,7,8,9  例如:250

    十六进制:由16个数字组成,有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f(字母大小写都可以,分别代表10,11,12,13,14,15) 例如:0xff  0XFF 0Xff

    2.1  二进制转换十进制

    #例如 0b10100101  
    
    运算:1*2^0 + 0*2^1 + 1*2^2 + 0*2^3 + 0*2^4 + 1*2^5 + 0*2^6 + 1*2^7  = 165
    1*2^0 分析  左边第一位为二进制右边第一位,后面以此类推,2^0:2为固定数字,^0表示几次幂,几次幂逐渐递增。2^0就表示2的0次幂,任何数的0次幂为1
    

      

    2.1.1 八进制转十进制

    例如:0o127
    
    运算: 7*8^0 + 2*8^1 + 1^8^2  =87
    
     7*8^0 分析  左边第一位为八进制右边第一位,后面一次类推,8^0:8为固定数字(表示几进制),^0表示几次幂,几次幂逐渐递增。8^0就表示8的0次幂
    

     

    2.1.2 十六进制转十进制

    #例如:0xff
    运算:15*16^0 + 15*16^1 = 255
    15*16^0 分析: 左边第一位15为十六进制右边第一位。16^0表示16进制的0次幂
    

      

    2.1.3: 十进制转二进制

    426 => 0b110101010  
    运算过程:   用426除以2,得出的结果再去不停地除以2,
    			直到除完最后的结果小于2停止,
    			在把每个阶段求得的余数从下到上依次拼接完毕即可
    

      

    2.1.4 十进制转八进制

    426 => 0o652
    运算过程:   用426除以8,得出的结果再去不停地除以8,
    			直到除完最后的结果小于8停止,
    			在把每个阶段求得的余数从下到上依次拼接完毕即可
    

      

    2.1.5 十进制转十六进制

    运算过程:   用426除以16,得出的结果再去不停地除以16,
    			直到除完最后的结果小于16停止,
    			在把每个阶段求得的余数从下到上依次拼接完毕即可
    

      

    2.1.6 二进制与八进制转换

    二进制与八进制对应关系:
    八进制  二进制
    0		000
    1		001
    2		010
    3		011
    4		100
    5		101
    6		110
    7		111
    
    例:1010100101
    八进制:从右向左 3位一隔开 不够三位用0补位 变成:
    001 010 100 101
    0o   1    2   4   5
    

      

    2.1.7  二进制与十六进制转换

    十六进制  二进制
    0		  0000
    1		  0001
    2		  0010
    3		  0011
    4		  0100
    5		  0101
    6		  0110
    7		  0111
    8		  1000
    9		  1001
    a		  1010
    b		  1011
    c		  1100
    d		  1101
    e		  1110
    f		  1111
    
    例:1010100101
    十六进制:从右向左 4位一隔开 不够四位用0补位 变成:
    0010 1010 0101 
    0x2a5
    

      

    2.1.8  八进制与十六进制的转换

    先转换成二进制 再去对应转换 
    比如:0x2a5 转换成 1010100101 再转8进制 0o1245
    

      

    2.2 原码,反码,补码

    #1.原码和补码都是二进制数据
    原码:二进制的表现形式
    反码:二进制码0变成1,1变成0叫做反码,[原码][补码]之间的转换形式.(首位符号位不取反)
    补码:二进制的存储形式
    
    数据用原码形式显示
    数据用补码形式存储
    [原码] 和 [补码] 可以通过[反码]互相转化,互为取反加1
    
    #2.原码的正负关系:
    原码特点:第一位是1
    00000000 1  表达数字正1
    10000000 1  表达数字负1
    
    #3.补码的正负关系:
    补码特点:高位都是1
    00000000 1  表达数字正1
    11111111 1  表达数字负1
    
    #4.运算顺序:
        补码 -> 原码 -> 最后人们看到的数
        ***进制转换的时候需要先把内存存储的补码拿出来变成原码在进行转换输出***
    
        转换规律:
            如果是一个正数:  原码 = 反码 = 补码
            如果是一个负数:  原码 与 反码 之间 ,  互为取反加1 
                           原码 = 补码取反加1   给补码求原码
                           补码 = 原码取反加1   给原码求补码
    
    练习:
    # 9的补码是多少?
      原码 0000 0000 1001
      反码 0000 0000 1001
      补码 0000 0000 1001
    分析:1001 表示9的二进制 故原码就为0000 0000 1001,因为是正数故原码反码补码都是一样的
      
    # -9的补码是多少? 
      原码 0000 0000 1001
      反码 1111 1111 0110
      补码 1111 1111 0111
    分析: 1001 表示9的二进制 故原码就为0000 0000 1001,因为为-9,故负数的反码为原码取反,故为1111 1111 0110,补码为反码+1,为1111 1111 0111
    当然也可以直接理解为负数的补码为原码取反+1
    
    #给补码求原码
    # 1111 ... 0011 (高位都是1) 负数 互为取反加1
      补码 1111 ... 0011
      原码 1000 ... 1101
    分析:已知为负数,故高位左边第一位为1,首先先取反,故反码为1000...1100,然后原码为再加1为 1000...1101
      
    # 0000 ... 1010 (高位都是0) 正数 原码 = 反码 = 补码 
      补码 0000 ... 1010
      原码 0000 ... 1010 
    分析:正数为 原码 = 反码 = 补码 
    
    #运算相加
    '''    
    # 9+(-5) 用二进制相加运算一下  
    '''
    9的 :原码 0000 1001
          反码 0000 1001
          补码 0000 1001
    -5的:原码  1000 0101
          反码 1111 1010
          补码 1111 1011
    9+(-5):   0000 1001
              1111 1011
              0000 0100  (最终结果)
    分析:首先先求出9的补码,再求出-5的补码,最后结果相加 就得出4的补码
    

      

  • 相关阅读:
    HTML 布局
    HTML <div> 和<span>
    HTML 列表
    HTML 表格
    可视化反投射:坍塌尺寸的概率恢复:ICCV9论文解读
    智能座舱虚拟机系统
    深度学习白平衡(Color Constancy,AWB):ICCV2019论文解析
    面部表情视频中进行远程心率测量:ICCV2019论文解析
    高精地图中导航标识识别
    人脸标记检测:ICCV2019论文解析
  • 原文地址:https://www.cnblogs.com/weiweivip666/p/12795670.html
Copyright © 2020-2023  润新知