您的位置:首页 > 编程语言 > C#

C#-进制转化

2016-09-28 17:15 295 查看
(一)数制

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

逢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

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: