C#-进制转化

(一)数制

    计算机中采用的是二进制,因为二进制具有运算简单,易实现且可靠,为逻辑设计提供了有利的途径、节省设备等优点,为了便于描述,又常用八、十六进制作为二进制的缩写。一般计数都采用进位计数,其特点是:

        逢N进一,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,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F(A=10,B=11,C=12,D=13,E=14,F=15)

  1)十进制数——二进制

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

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

            所得余数依次为                 0  0  1  0  0  1

            将余数从右向左写为           1  0  0  1  0  0

    所得出的100100为二进制数

  2)二进制——十进制

    计算公式:a×2^0+b×2^1+……+m×2^(n-1)=

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

            例:1011001由右至左成为十进制为89

            1×2^0+0×2^1+0×2^2+1×2^3+0×2^4+0×2^5+1×2^6=1+8+16+64=89

  3)十进制与二进制相互转换,十进制与十六进制相互转换同十进制与二进制转换一样

  4)其他进制之间的转化

      二进制转换为八进制:对于整数,采用从右至左每三位一组,不够三位的在其左边补齐0,每组单独转换出来,即为八进制数  (2^3=8)

      例: (001    101    111    011)

                 1        5        7       3

            所以,(1573)即为所得的八进制数

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

     例: (1      7      3     5)

             001  111  011  101

     二进制与十六进制相互转换同二进制与八进制转换相同,八进制和十六进制相互转换需通过二进制

原文地址:https://www.cnblogs.com/qq450867541/p/5917184.html