From: 24OI-bot <15963390+24OI-bot@users.noreply.github.com> Date: Sat, 6 Oct 2018 14:53:45 +0000 (+0800) Subject: style: format markdown files with remark-lint X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=92ee36c834ec4cd02a031dbf81e84b9e6fe6ccf7;p=oi-wiki%2Fmain.git style: format markdown files with remark-lint --- diff --git a/docs/math/base.md b/docs/math/base.md index 6bd22740..e4edd755 100644 --- a/docs/math/base.md +++ b/docs/math/base.md @@ -2,60 +2,58 @@ ## 二进制 -二进制是计算机内部运算中采用的进制,在这样的进制系统下,只有0,1两个数字,计算机内部的所有运算(包括位运算)都是在二进制的基础上进行的。 +二进制是计算机内部运算中采用的进制,在这样的进制系统下,只有 0,1 两个数字,计算机内部的所有运算(包括位运算)都是在二进制的基础上进行的。 但用二进制表示数字会让数字过长,因此为了方便表示的需要,通常会把二进制数转换为八进制或十六进制表示。 ## 八进制 -在八进制下,有0,1,2,3,4,5,6,7八个数字。 +在八进制下,有 0,1,2,3,4,5,6,7 八个数字。 一般情况下,八进制数以`oxx`(其中`o`为八进制的前缀,`xx`代表八进制数)的形式来表示。 ## 十六进制 -在十六进制下,有0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15)十六个数字。 +在十六进制下,有 0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15) 十六个数字。 -十六进制与二进制相比,最大的优点就是表示的数字长度较短,一位十六进制数可以表示4位二进制数。 +十六进制与二进制相比,最大的优点就是表示的数字长度较短,一位十六进制数可以表示 4 位二进制数。 一般情况下,十六进制数以`0xhhhh`(其中`0x`为十六进制数的前缀)的形式来表示。 ## 进制间的相互转化 -### 十进制转二进制/八进制/十六进制 +### 十进制转二进制 / 八进制 / 十六进制 这里以二进制为例来演示,其他进制的原理与其类似。 -整数部分,把十进制数不断执行除2操作,直至商数为0。读余数从下读到上,即是二进制的整数部分数字。 小数部分,则用其乘2,取其整数部分的结果,再用计算后的小数部分依此重复计算,算到小数部分全为0为止,之后从上到下,读所有计算后整数部分的数字,即为二进制的小数部分数字。 - -``` -将33.25转化为二进制数 -整数部分: -33/2=16 ......1 -16/2=8 ......0 -8/2=4 ......0 -4/2=2 ......0 -2/2=1 ......0 -1/2=0 ......1 -小数部分: -0.25*2=0.5 0 -0.5*2=1 1 -``` -即 $ 33.25 = 100001.01_(2) $ - -### 二进制/八进制/十六进制转十进制 +整数部分,把十进制数不断执行除 2 操作,直至商数为 0。读余数从下读到上,即是二进制的整数部分数字。 小数部分,则用其乘 2,取其整数部分的结果,再用计算后的小数部分依此重复计算,算到小数部分全为 0 为止,之后从上到下,读所有计算后整数部分的数字,即为二进制的小数部分数字。 + + 将33.25转化为二进制数 + 整数部分: + 33/2=16 ......1 + 16/2=8 ......0 + 8/2=4 ......0 + 4/2=2 ......0 + 2/2=1 ......0 + 1/2=0 ......1 + 小数部分: + 0.25*2=0.5 0 + 0.5*2=1 1 + +即 $33.25 = 100001.01_(2)$ + +### 二进制 / 八进制 / 十六进制转十进制 还是以二进制为例。 -二进制数转换为十进制数,只需将每个位的值,乘以 $ 2^i $ 次即可,其中 $ i $ 为当前位的位数,个位的位数为0。 +二进制数转换为十进制数,只需将每个位的值,乘以 $2^i$ 次即可,其中 $i$ 为当前位的位数,个位的位数为 0。 + + 将11010.01(2)转换为十进制数 + 11010(2)=1*2^4+1*2^3+0*2^2+1*2^1+0*2^0+0*2^(-1)+1*2(-2) + =26.25 -``` -将11010.01(2)转换为十进制数 -11010(2)=1*2^4+1*2^3+0*2^2+1*2^1+0*2^0+0*2^(-1)+1*2(-2) - =26.25 -``` -即 $ 11010_(2) = 26.25 $ +即 $11010_(2) = 26.25$ -### 二进制/八进制/十六进制间的相互转换 +### 二进制 / 八进制 / 十六进制间的相互转换 -一个八进制位可以用3个二进制位来表示(因为 $ 2^3 =8 $ ),一个十六进制位可以用4个二进制位来表示( $ 2^4 = 16 $ ),反之同理。 +一个八进制位可以用 3 个二进制位来表示(因为 $2^3 =8$ ), 一个十六进制位可以用 4 个二进制位来表示( $2^4 = 16$ ),反之同理。