zoukankan      html  css  js  c++  java
  • 三月五号

    今天是去汉企培训班的第一天,主要是对于以后的工作学习安排有了初步的安排,在这过程中肯定会遇到很多很多的挫折与不如意,也希望自己能够一一去克服面对。

       今天的主要任务是对于自己博客的开通,和进制的学习。说起博客总觉得是属于比较高端的东西,自己也就是局限在微博写心情转发的层次,不过今天还好以后也开始慢慢涉足于这一块。关于进制,是今天的重点。以下会是对于今天所学内容的总结,希望对今后的学习与记忆有一定的帮助。

       计算机中通常采用的是二进制,因为较简单易实现,等等的优点。而八进制,十六进制会常用于二进制的缩写,一般采用进位计数,特点是逢N进一

     二进制:逢二进一,借一当二

     八进制:逢八进一,借一当八

     十六进制:逢十六进一,借一当十六

     进制转换,转换的原则转换前后两数必相等。

     十进制:有10个基数:0,1,2,3,4,5,6,7,8,9,

     二进制:有2个基数:0,1

     八进制:有8个基数:0,1,2,3,4,5,6,7

    十六进制:有16个基数:0——9A,B,C,D,E,F(分别是10,11,12,13,14,15,)

    进制之间的转换

    1)十进制——二进制

    十进制数除以2,除至0时所得的余数按反方向写出,即为二进制数

    例:18除以2得出的商依次为 9,4,2,1

        所得的余数依次为   01,0,0,1

    将余数右往左写为   1 0 0 1 0

    最后得到的10010为二进制数

    二级制右数位数

    1

    2

    3

    4

    5

    6

    7

    8

    十进制数

    1

    2

    4

    8

    16

    32

    64

    128

    公式原型

    20

    21

    22

    23

    24

    25

    26

    27

    2)二进制——十进制

    计算公式:a*20+b*21+c*22+d*23+....+n*2(n-1)

    以上公式中,a表示二进制数的右边第一位,切记从右往左,

    例:1100101的十进制数为

    20+22+25+26=101

    1)十进制——八进制

    十进制转换为八进制:十进制数逐次整除八,直至商为0,所得余数按照反方向写出即可。

    (上述数中2换成8即可,自己可多加练习)

    2)十进制——十六进制

    十进制转换为八进制:十进制数逐次整除八,直至商为0,所得余数按照反方向写出即可。

    (上述数中2换成16即可,自己可多加练习)

    1)八进制——十进制

    八进制数从右到左

    第一位

    第二位

    第三位

    第四位

    第五位

    第六位

    第七位

    第八位

    对应的八的次幂

    80

    81

    82

    83

    84

    85

    86

    87

    十进制数

    1

    8

    64

    512

    4096

    32768

    262144

    2097152

    根据上述公式仅把2换成8,从右往左写即可

    2)十六进制——十进制可以参考以上方法自行解决注意一切都是从右往左写

    四 其他进制之间的转换

    二进制→八进制:对于整数,采用从右到左每三位一组,不够三位的在其左边补齐0,每组单独转换出来即可。

    例如:转换二进制数 1110101010100 那么分组为
    001 110 101 010 100 按照转换方法对应转换
      1    6    5    2    4
    所以 1110101010100(2) = 16524(8)

    八进制→二进制:将每位八进制由三位二进制数代替即可。

    二进制与八进制编码对应表:

    二进制

    八进制

    000

    0

    001

    1

    010

    2

    011

    3

    100

    4

    101

    5

    110

    6

    111

    7

    二进制→十六进制:此时分组为从右到左每 位二进制数为一组进行转换

    例如:转换二进制 0101010100101011010,分组:
    0010 1010 1001 0101 1010
       2     A      9      5     A
    所以0101010100101011010(2) = 2A95A(16)

    十六进制→二进制:将每位十六进制由四位二进制数代替即可。

    二进制与八进制编码对应表:

    二进制和十六进制的互相转换比较重要。不过这二者的转换却不用计算,每个CC++程序员都能做到看见二进制数,直接就能转换为十六进制,反之亦然。

    首先我们来看一个二进制数:1111,它是多少呢?

    你可能还要这样计算:1 * 2 + 1 * 2 + 1 * 2 + 1 * 2 = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 = 15

    然而,由于11114位,所以我们必须直接记住它每一位的权值,并且是从高位往低位记,:8421。即,最高位的权值为23=8,然后依次是 22=8,21=2, 20 = 1

    记住8421,对于任意一个4位的二进制数,我们都可以很快算出它对应的10进制值。

    仅四位的二进制数

    快速计算方法

    十进制值

    十六进制值

    1111

    8+4+2+1

    15

    F

    1110

    8+4+2+0

    14

    E

    1101

    8+4+0+1

    13

    D

    1100

    8+4+0+0

    12

    C

    1011

    8+0+2+1

    11

    B

    1010

    8+0+2+0

    10

    A

    1001

    8+0+0+1

    9

    9

    ……

    0001

    0+0+0+1

    1

    1

    0000

    0+0+0+0

    0

    0

    进制之间的转换关系

                                     

  • 相关阅读:
    Delphi常用内存管理函数
    delphi中VirtualStringTree树使用方法
    Delphi常量
    delphi中的copy函数和pos函数
    delphi 中 delete的用法
    字软元件和位软元件的区别
    Virtual Treeview使用要点
    QTreeWidget搜索功能---遍历QTreeWidget
    C 语言使用 sqlite3
    opendir 与 readdir
  • 原文地址:https://www.cnblogs.com/Duriyya/p/5247122.html
Copyright © 2011-2022 走看看