本文是转载及原创内容共同构成,转载部分都有相应链接及版权声明
进制的转换
版权声明:本文为CSDN博主「duguxingfeng」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/duguxingfeng/article/details/88909458点击跳转
- 一个二进制位称为比特bit(位)
- byte(字节)
- 一个16进制是4个二进制位,则两个16进制是8位也就是一个字节
- 1byte=8bit
1.十进制、二进制、八进制、十六进制对应数值如下表。
十进制 | 二进制 | 八进制 | 十六进制 |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E |
15 | 1111 | 17 | F |
2.进制之间转换的规律(二进制不考虑符号位)
2.1二进制向十进制转换的时候,可以从二进制右侧往左进行推算,具体步骤如下:
二进制位 | … | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
---|---|---|---|---|---|---|---|---|---|
对应十进制 | 2n次方 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
① 二进制位对应的数字乘以十进制对应数
②将相乘所得数字相加即可得十进制树
例如:二进制 101010,从右往左推算 0×1+1×2+0×4+1×8+0×16+1×32=42
2.2二进制向八进制转换的时候,可以从二进制右侧往左进行推算3位一组,具体步骤如下:
例如:二进制 1101010,从右往左 可分为3组,不足一组左侧补0
2.3二进制向十六进制转换的时候,可以从二进制右侧往左进行推算4位一组,具体步骤如下:
例如:二进制 1101010,从右往左 可分为3组,不足一组左侧补0
0110 1010
以上运算可互为逆运算
十进制转八进制、十六进制时,可采用短除法,也可先转换为二进制再分组,转换为八进制和十六进制。
所有进制之间转换都可先进行二进制转换,再进行其他运算,比如八进制转十六进制
版权声明:本文为CSDN博主「duguxingfeng」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/duguxingfeng/article/details/88909458
————————————————
本部分为原创:
二
→
十
八
、
十
六
→
十
}
→
按
权
对
位
展
开
相
加
\left.\begin{matrix}二\to 十\\八、十六\to 十\end{matrix}\right\}\to按权对位展开相加
二→十八、十六→十}→按权对位展开相加
十
→
二
十
→
八
、
十
六
}
→
\left.\begin{matrix}十\to 二\\十\to 八、十六\end{matrix}\right\}\to
十→二十→八、十六}→
{
整
数
连
除
,
取
余
逆
序
小
数
连
乘
,
取
整
顺
序
(
小
数
部
分
)
\begin{cases}整数连除,取余逆序\\ 小数连乘,取整顺序(小数部分) \end{cases}
{整数连除,取余逆序小数连乘,取整顺序(小数部分)
二
⟷
八
(
3
位
一
组
)
二
⟷
十
六
(
4
位
一
组
)
}
→
分
组
对
位
转
化
,
顺
序
不
变
\left.\begin{matrix}二\longleftrightarrow 八(3位一组)\\二\longleftrightarrow 十六(4位一组)\end{matrix}\right\}\to分组对位转化,顺序不变
二⟷八(3位一组)二⟷十六(4位一组)}→分组对位转化,顺序不变(读分组后对应的十进制数,不足补0,整数由后向前,小数由前向后)
八进制转十六:8先转2再转16
10转8:10先转2再转8
例题
二进制的减法计算
本部分转载跳转https://blog.csdn.net/qq_32832803/article/details/82286073
101001-011010=001111
运算步骤如下:
在运算过程中,从右往左逐位进行计算。
1-0=1;
0不够减1,向前借1后加2变成2;2-1=1;
0在上一步被借1所以减为-1,-1不够减0,向前借一后加2变成1;1-0=1;
1在上一步被借1所以减为0,0不够减1,向前借一后加2变成2;2-1=1;
0在上一步被借1所以减为-1,-1不够减1,向前借一后加2变成1;1-1=0;
1在上一步被借1所以减为0,0-0=0.
由此推出:数不够减就向前借1位,然后该数加2.
可见二进制减法是向前借1后加2
————————————————
版权声明:本文为CSDN博主「撼沧」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_32832803/article/details/82286073
本部分为原创
内存单位及转换
Byte字节,bit位
1Byte(B)=8bit,1KB=1024B(字节),1MB=1024KB,1GB=1024MB,1TB=1024GB
210B即为1K
211B为2K
212B为4K
213B为8K
214B为16K
220B为1MB
221B为2MB
222B为4MB
230B为1GB
240B为1TB等依此规律
b/s(bps)、kb/s、Mb/s、Gb/s
k=103、M=106、G=109