zoukankan      html  css  js  c++  java
  • (4)二八十六进制转换

    计算机硬件基本认知

    cpu:   中央处理器.   相当于人的大脑.运算中心,控制中心.

    内存: 临时存储数据. 优点:读取速度快,缺点:容量小,造价高,断电即消失.

    硬盘: 长期存储数据. 优点:容量大,造价相对低,断电不消失,缺点:读取速度慢.

    操作系统:统一管理计算机软硬件资源的程序windows,Linux,Unix,IOS 这是四大常见的操作系统

    计算机文件大小单位

    b = bit 位(比特)

    B = Byte 字节

    1Byte = 8 bit   #一个字节等于8位 可以简写成 1B = 8b

    1KB = 1024B

    1MB = 1024KB

    1GB = 1024MB

    1TB = 1024GB

    1PB = 1024TB

    1EB = 1024PB

     

    计算机中使用二进制数,用0和1表示和识别电流的通和断、电压的高和低、电荷的有和无等两种状态(通俗地说,电流只有有电与没电之分,有电用1表示,无电用0表示)简单的0和1两个数码承担着大量信息的输入和输出,完成了复杂多变的演算和逻辑思维过程,也就是说电脑本身只认识0和1,计算机的底层都是通过0和1来实现的,也就是二进制计数.

    进制表示方法

    二进制:由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

    <一>:其他进制转十进制       

    (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=

    1 + 0 + 4 + 0 + 0 + 32 + 0 + 128 = 165

    (2)八进制转化成十进制:

    例: 0o127

    运算:7*8^0 + 2*8^1 + 1*8^2 = 7+16+64 = 87

    (3)十六进制转化成十进制:

    例: 0xff

    运算:15*16^0 + 15*16^1 = 255​

    小练习: 转化成十进制

    0b11010110 # 1*2^1+1*2^2+1*2^4+1*2^6+1*2^7=2+4+16+64+128=214

    0b01110101 # 同理 117

    0o234  # 4*8^0+3*8^1+2*8^2=156  

    0o171 # 同理 121

    0x123 # 3*16^0+2*16^1+1*16^2 = 291

    0x1c2 # 同理 450

    <二>十进制转其他进制

    (1)十进制转化成二进制:

    426 => 0b110101010  

    运算过程:   用426除以2,得出的结果再去不停地除以2,

    直到除完最后的结果小于2停止,

    在把每个阶段求得的余数从下到上依次拼接完毕即可

    (2)十进制转化成八进制:

    426 => 0o652

    运算过程:   用426除以8,得出的结果再去不停地除以8,

    直到除完最后的结果小于8停止,

    在把每个阶段求得的余数从下到上依次拼接完毕即可

    (3)十进制转化成十六进制:

    运算过程:   用426除以16,得出的结果再去不停地除以16,

    直到除完最后的结果小于16停止,

    在把每个阶段求得的余数从下到上依次拼接完毕即可

    小练习: 转化成对应进制

    723 => 2===>0b1011010011

    654 => 2===>0b1010001110

    723 => 8===>0o1323

    654 => 8===>0o1216

    723 => 16===>2D3

    654 => 16===>28E

    <三> 二八十六进制互转

    (1)二进制与八进制转换

    二进制与八进制对应关系:

    八进制 二进制

    0===> 000

    1===> 001

    2===> 010

    3 ===>011

    4 ===>100

    5===> 101

    6===> 110

    7===> 111

    例:以下2转8

    例:0b1010100101 # 从右向左 3位一隔开

    001 010 100 101 # 不够三位用0补位

    0o   1   2   4   5 # 每三位二进制计算出十进制 结果:0o1245

    注意:八进制数最大表示位数只有7,而每三位二进制恰好可以表示一个八进制

    (2)二进制与十六进制转换

    十六进制 二进制

    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

    例:0b1010100101

    十六进制:从右向左 4位一隔开 不够四位用0补位 变成:

    0010 1010 0101

    0x2a5

    (3)八进制十六进制的转换

    先转换成二进制 再去对应转换

    比如:0x2a5 转换成 1010100101 再转8进制 0o1245

    小练习: 转化成对应进制

    0x1DD ==2==>0b000111011101==8==>0o735

    0x29a ==2==>0b01010011010==8==>0o1232

    0o573 ==2==>0b101111011==16==>0x17B

    0o336 => 16==2==>0b011011110==16==>0xDE

     

     

     

     

  • 相关阅读:
    Python表达式与生成式
    Python三大器之生成器
    Python三大器之迭代器
    Arrays.asList基本用法
    理解静态绑定与动态绑定
    Comparable 和 Comparator的理解
    @SuppressWarnings 用法
    @SafeVarargs 使用说明
    LeetCode43,一题让你学会高精度算法
    分布式——吞吐量巨强、Hbase的承载者 LSMT
  • 原文地址:https://www.cnblogs.com/lyj910313/p/10795602.html
Copyright © 2011-2022 走看看