C语言中关于二进制的换算
程序员文章站
2022-07-15 09:58:18
...
进制:进制也就是进位制,是人们规定的一种进位方法、是一种计数方式。 对于任何一种进制—X进制,就表示某一位置上的数运算时是逢X进一位。 十进制是逢十进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。
十进制 | 二进制 | ||
---|---|---|---|
数码: | 0、1、2、3、4、5、6、7、8、9 | 数码: | 0、1 |
基数: | 10 | 基数: | 2 |
运算规律: | 逢十进一,借一当十 | 运算规律: | 逢二进一,借一当二 |
展开形式: | 101=1102+0101+1*100 | 展开形式: | 101.1=122+021+120+12-1 |
表示形式: | 十进制数可以不加注,也可以写成加注形式:如 (99)10 或99(10)或(99D) | 表示形式: | 二进制数10110011可以写成(10110011)2或10110011(2)或写成10110011B |
案例1:108(10)=?
算法一:
108=64+44 | |
---|---|
20=1 | =26+44 |
21=2 | =26+32+12 |
22=4 | =26+25+12 |
23=8 | =26+25+8+4 |
24=16 | =26+25+23+4 |
25=32 | =26+25+23+22 |
26=64 | =126+125+024+123+122+021+0*20 |
27=128 | =1101100(2) |
第二种方法:除2逆向取余法
除数 | 被除数 | 余数 |
---|---|---|
2 | 108 | 0 |
2 | 54 | 0 |
2 | 27 | 1 |
2 | 13 | 1 |
2 | 6 | 0 |
2 | 3 | 1 |
2 | 1 | 1 |
0 | 0 |
除2逆向取余法(从下到向)
最终得出108(10)=101100(2)
十进制小数转二进制和整数转换相同:如0.875=?
0.875=0.5+0.375 | |
---|---|
2-1=0.5 | =2-1+0.25+0.125 |
2-2=0.25 | =2-1+2-2+2-3 |
2-3=0.125 | =0.111(2) |
同样十进制转二进制也可以使用乘以2顺向取整法
0.875*2=1.75 | 1 |
---|---|
0.75*2=1.5 | 1 |
0.5*2=1 | 1 |
顺序向下
0.875(10)=0.111(2)
二进制数的运算规则
加法规则:0+0=0,0+1=1,1+0=1,1+1=10
乘法规则:0•0=0, 0 • 1=0 ,1 • 0=0,1 • 1=1
案例: (1101.01)2 + (11.01)2 =?
1101.01
+ 11.01
10000.10
为什么计算机用二进制而不是十进制来存储数据?
二进制数只有0和1两个数码,它的每一位都可以用电子元件来实现,且运算规则简单,相应的运算电路也容易实现
上一篇: 八位二进制数为什么表示范围(-128~~+127)理解
下一篇: 华科14_2