• C#基础 进制转换6/17


      二进制→十进制

    计算公式:a*20+b*21+c*22+…+m*2n-1)

    公式中a为二进制数右边第一位数,b为第二位数,以此类推

    例:二进制1011010转换为十进制数为

    0*20+1*21+0*22+1*23+1*24+0*25+1*26

    =1+2+8+16+64

    =91

      十进制→二进制

    十进制数除以2,除至0时,从上往下写出即为二进制数

    例:十进制91转换为二进制

    91除以2得出的数分别为 45  22  11  5  2  1

    所得余数分别为    1  1   0   1  1   0  1

    将余数反方向为           1011011

      十进制→八进制

    十进制数除以8,除至0时,反方向写出即为八进制数

      八进制→十进制

        

    从右第N位 8 7 6 5 4 3 2 1
    8(n-1) 87  86  85 84 83  82 81  80
    十进制下的实际数 2097152 262144 32768 4096 512 64 8 1

      十进制→十六进制

    十进制除以16,除至0时,反方向写出即为十六进制数

      十六进制→十进制

    计算公式:a*160+b*161+c*162+…+m*16n-1)

    以上公式中,a表示十六进制数的右边第一位的数,b表示十六进制数的右边第二位的数,c表示十六进制数的右边第三位的数,m表示十六进制数的右边第(n-1)位的数

    163 162 161 160
    4096 256 16 1

      二进制→八进制

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

    例:(001     101     111     011)

               1          5        7         3

    所以1573即为所得的八进制数

      八进制→二进制

    将每位八进制由三位二进制数代替,即可完成转换

    例:(1     7       3      5)

         001  111   011  101

    所以,(1111011101)即为所得的二进制数 

      二进制→十六进制

    由于2的4次方=16,所以依照二进制与八进制的转换方法,将二进制的每四位用一个十六进制数码来表示,整数部分以小数点为界点从右往左每四位一组转换,小数部分从小数点开始从左向右每四位一组进行转换

    例(1001       0111       0111       1001)

              9            7            7            9

    所以9779为所得数的十六进制数

      十六进制→二进制

    只要将每一位十六进制数用四位相应的二进制数表示,即可完成转换

    例(8           7          6           5)

        1000     0111    0110       0101

    所以1000011101100101为所得的二进制数

  • 相关阅读:
    现在转战c++的领域,纯幼儿园
    LeetCode:Majority Element
    LeetCode:Partition List
    LeetCode:Balanced Binary Tree(判断是否为二叉平衡树)
    LeetCode:Binary Tree Zigzag Level Order Traversal
    LeetCode:Binary Tree Level Order Traversal II (按层遍历)
    LeetCode:Binary Tree Postorder Traversal(二叉树的后序遍历)
    LeetCode:BInary Tree Inorder Traversal(二叉树的中序遍历)
    LeetCode:Binary Tree Preorder Traversal(二叉树的先序遍历)
    LeetCode:Implement Queue using Stacks
  • 原文地址:https://www.cnblogs.com/dreamer666/p/5594568.html
Copyright © 2020-2023  润新知