计算机10进制、2进制、8进制、16进制的数字表示

10进制

以10为底数来表示一个数,数码集S={0,1,2,3,4,5,6,7,8,9}。

10进制的整数表示

一个十进制数表示为:
± S k − 1 . . . S 2 S 1 S 0 \footnotesize ±S_{k-1}...S_{2}S_{1}S_{0} ±Sk1...S2S1S0

值计算为:
N = ± ( S k − 1 × 1 0 k − 1 + S k − 2 × 1 0 k − 2 + . . . + S 2 × 1 0 2 + S 1 × 1 0 1 + S 0 × 1 0 0 ) \footnotesize N=±(S_{k-1}×10^{k-1}+S_{k-2}×10^{k-2}+...+S_{2}×10^{2}+S_{1}×10^{1}+S_{0}×10^{0}) N=±(Sk1×10k1+Sk2×10k2+...+S2×102+S1×101+S0×100)
其中S代表1个数码,k是数码的位置量,底数是10。

例如表示整数+186
1 0 2                     1 0 1                    1 0 0 1                         8                        6      N = + ( 1 × 1 0 2     +     8 × 1 0 1     +     6 × 1 0 0 ) = + 186 \footnotesize \begin{matrix} 10^2~~~~~~~~~~~~~~~~~~~10^1~~~~~~~~~~~~~~~~~~10^0 \\ 1~~~~~~~~~~~~~~~~~~~~~~~8~~~~~~~~~~~~~~~~~~~~~~6\\ ~~~~N=+(1×10^{2}~~~+~~~8×10^{1}~~~+~~~6×10^{0})=+186 \end{matrix} 102                   101                  1001                       8                      6    N=+(1×102   +   8×101   +   6×100)=+186
最大值为:
N m a x = 1 0 k − 1 \footnotesize N_{max}=10^k-1 Nmax=10k1

10进制的实数表示

实数是带有小数部分的数字。
值计算公式:
                      整 数 部 分                                                          小 数 部 分 N = ± ( S k − 1 × 1 0 k − 1 + . . . + S 1 × 1 0 1 + S 0 × 1 0 0 ) + ( S − 1 × 1 0 − 1 + . . . + S − i × 1 0 − l ) \footnotesize ~~~~~~~~~~~~~~~~~~~~~整数部分~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~小数部分\\ N=±(S_{k-1}×10^{k-1}+...+S_{1}×10^{1}+S_{0}×10^{0})+(S_{-1}×10^{-1}+...+S_{-i}×10^{-l})                                                                              N=±(Sk1×10k1+...+S1×101+S0×100)+(S1×101+...+Si×10l)

例如表示实数+12.34
                               1 0 1                   1 0 0                   1 0 − 1                     1 0 − 2               位 置 量                               1                       2                        3                           4                   数 字                 N = + ( 1 × 1 0 1     +     2 × 1 0 0     +     3 × 1 0 − 1     +     4 × 1 0 − 2 ) = + 12.34 \footnotesize \begin{matrix} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~10^1~~~~~~~~~~~~~~~~~10^0~~~~~~~~~~~~~~~~~10^{-1}~~~~~~~~~~~~~~~~~~~10^{-2}~~~~~~~~~~~~~位置量 \\ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1~~~~~~~~~~~~~~~~~~~~~2~~~~~~~~~~~~~~~~~~~~~~3~~~~~~~~~~~~~~~~~~~~~~~~~4~~~~~~~~~~~~~~~~~数字\\ ~~~~~~~~~~~~~~~N=+(1×10^{1}~~~+~~~2×10^{0}~~~+~~~3×10^{-1}~~~+~~~4×10^{-2})=+12.34 \end{matrix}                               101                 100                 101                   102                                          1                     2                      3                         4                                N=+(1×101   +   2×100   +   3×101   +   4×102)=+12.34

2进制

以2为底数来表示一个数,数码集S={0,1}。在以2为底的数字系统中,一个数码也被称为位。

2进制的整数表示

一个2进制数表示为:
± ( S k − 1 . . . S 1 S 0 ) 2 \footnotesize ±(S_{k-1}...S_{1}S_{0})_2 ±(Sk1...S1S0)2

值计算为:
N = ± ( S k − 1 × 2 k − 1 + S k − 2 × 2 k − 2 + . . . + S 2 × 2 2 + S 1 × 2 1 + S 0 × 2 0 ) \footnotesize N=±(S_{k-1}×2^{k-1}+S_{k-2}×2^{k-2}+...+S_{2}×2^{2}+S_{1}×2^{1}+S_{0}×2^{0}) N=±(Sk1×2k1+Sk2×2k2+...+S2×22+S1×21+S0×20)
其中S代表1个数码,k是数码的位置量,底数是2。

例如表示一个数+10,其二进制数为(1010)
                             2 3                     2 2                    2 1                    2 0               位 置 量                          1                       0                      1                      0                 数 字      N = + ( 1 × 2 3     +     0 × 2 2     +     1 × 2 1     +     0 × 2 0 ) = + 10 \footnotesize \begin{matrix} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~2^3~~~~~~~~~~~~~~~~~~~2^2~~~~~~~~~~~~~~~~~~2^1~~~~~~~~~~~~~~~~~~2^0~~~~~~~~~~~~~位置量\\ ~~~~~~~~~~~~~~~~~~~~~~~~1~~~~~~~~~~~~~~~~~~~~~0~~~~~~~~~~~~~~~~~~~~1~~~~~~~~~~~~~~~~~~~~0~~~~~~~~~~~~~~~数字\\ ~~~~N=+(1×2^{3}~~~+~~~0×2^{2}~~~+~~~1×2^{1}~~~+~~~0×2^{0})=+10 \end{matrix}                             23                   22                  21                  20                                     1                     0                    1                    0                   N=+(1×23   +   0×22   +   1×21   +   0×20)=+10
最大值为:
N m a x = 2 k − 1 \footnotesize N_{max}=2^k-1 Nmax=2k1

2进制的实数表示

二进制中的实数,由左边k位到右边l位来组成。
值计算公式:
                      整 数 部 分                                                          小 数 部 分 N = ± ( S k − 1 × 2 k − 1 + . . . + S 1 × 2 1 + S 0 × 2 0 ) + ( S − 1 × 2 − 1 + . . . + S − i × 2 − l ) \footnotesize ~~~~~~~~~~~~~~~~~~~~~整数部分~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~小数部分\\ N=±(S_{k-1}×2^{k-1}+...+S_{1}×2^{1}+S_{0}×2^{0})+(S_{-1}×2^{-1}+...+S_{-i}×2^{-l})                                                                              N=±(Sk1×2k1+...+S1×21+S0×20)+(S1×21+...+Si×2l)

例如表示实数+10.75,其二进制数为(1010.11)
       2 3                    2 2                    2 1                    2 0                    2 − 1                  2 − 2    1                      0                      1                      0           .            1                      1              N = + ( 1 × 2 3     +     0 × 2 2     +     1 × 2 1     +     0 × 2 0     +     1 × 2 − 1    +    1 × 2 − 2 ) = + 10.75 \footnotesize \begin{matrix} ~~~~~~2^3~~~~~~~~~~~~~~~~~~2^2~~~~~~~~~~~~~~~~~~2^{1}~~~~~~~~~~~~~~~~~~2^{0}~~~~~~~~~~~~~~~~~~2^{-1}~~~~~~~~~~~~~~~~2^{-2} \\ ~~1~~~~~~~~~~~~~~~~~~~~0~~~~~~~~~~~~~~~~~~~~1~~~~~~~~~~~~~~~~~~~~0~~~~~~~~~.~~~~~~~~~~1~~~~~~~~~~~~~~~~~~~~1\\ ~~~~~~~~~~~~N=+(1×2^{3}~~~+~~~0×2^{2}~~~+~~~1×2^{1}~~~+~~~0×2^{0}~~~+~~~1×2^{-1}~~+~~1×2^{-2})=+10.75 \end{matrix}       23                  22                  21                  20                  21                22  1                    0                    1                    0         .          1                    1            N=+(1×23   +   0×22   +   1×21   +   0×20   +   1×21  +  1×22)=+10.75

8进制

以8为底数来表示一个数,数码集S={0,1,2,3,4,5,6,7}。

8进制的整数表示

值计算为:
N = ± ( S k − 1 × 8 k − 1 + S k − 2 × 8 k − 2 + . . . + S 2 × 8 2 + S 1 × 8 1 + S 0 × 8 0 ) \footnotesize N=±(S_{k-1}×8^{k-1}+S_{k-2}×8^{k-2}+...+S_{2}×8^{2}+S_{1}×8^{1}+S_{0}×8^{0}) N=±(Sk1×8k1+Sk2×8k2+...+S2×82+S1×81+S0×80)
其中S代表1个数码,k是数码的位置量,底数是8。

例如表示一个数+668,其8进制数为(1234)
                             8 3                     8 2                    8 1                    8 0               位 置 量                          1                       2                      3                      4                 数 字      N = + ( 1 × 8 3     +     2 × 8 2     +     3 × 8 1     +     4 × 8 0 ) = + 668 \footnotesize \begin{matrix} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~8^3~~~~~~~~~~~~~~~~~~~8^2~~~~~~~~~~~~~~~~~~8^1~~~~~~~~~~~~~~~~~~8^0~~~~~~~~~~~~~位置量\\ ~~~~~~~~~~~~~~~~~~~~~~~~1~~~~~~~~~~~~~~~~~~~~~2~~~~~~~~~~~~~~~~~~~~3~~~~~~~~~~~~~~~~~~~~4~~~~~~~~~~~~~~~数字\\ ~~~~N=+(1×8^{3}~~~+~~~2×8^{2}~~~+~~~3×8^{1}~~~+~~~4×8^{0})=+668 \end{matrix}                             83                   82                  81                  80                                     1                     2                    3                    4                   N=+(1×83   +   2×82   +   3×81   +   4×80)=+668
最大值为:
N m a x = 8 k − 1 \footnotesize N_{max}=8^k-1 Nmax=8k1

8进制的实数表示

值计算公式:
                      整 数 部 分                                                          小 数 部 分 N = ± ( S k − 1 × 8 k − 1 + . . . + S 1 × 8 1 + S 0 × 8 0 ) + ( S − 1 × 8 − 1 + . . . + S − i × 8 − l ) \footnotesize ~~~~~~~~~~~~~~~~~~~~~整数部分~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~小数部分\\ N=±(S_{k-1}×8^{k-1}+...+S_{1}×8^{1}+S_{0}×8^{0})+(S_{-1}×8^{-1}+...+S_{-i}×8^{-l})                                                                              N=±(Sk1×8k1+...+S1×81+S0×80)+(S1×81+...+Si×8l)

例如表示实数+668.125,其8进制数为(1234.1)
    8 3                    8 2                    8 1                    8 0                    8 − 1 1                      2                      3                      4            .            1               N = + ( 1 × 8 3     +     2 × 8 2     +     3 × 8 1     +     4 × 8 0     +     1 × 8 − 1 ) = + 668.125 \footnotesize \begin{matrix} ~~~8^3~~~~~~~~~~~~~~~~~~8^2~~~~~~~~~~~~~~~~~~8^{1}~~~~~~~~~~~~~~~~~~8^{0}~~~~~~~~~~~~~~~~~~8^{-1}\\ 1~~~~~~~~~~~~~~~~~~~~2~~~~~~~~~~~~~~~~~~~~3~~~~~~~~~~~~~~~~~~~~4~~~~~~~~~~.~~~~~~~~~~1\\ ~~~~~~~~~~~~~N=+(1×8^{3}~~~+~~~2×8^{2}~~~+~~~3×8^{1}~~~+~~~4×8^{0}~~~+~~~1×8^{-1})=+668.125 \end{matrix}    83                  82                  81                  80                  811                    2                    3                    4          .          1             N=+(1×83   +   2×82   +   3×81   +   4×80   +   1×81)=+668.125

16进制

以16为底数来表示一个数,数码集S={0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F};符号A,B,C,D,E,F(不区分大小写)分别为10,11,12,13,14,15。通常以0x开头的数字表示为16进制数,如:0x123。

16进制的整数表示

值计算为:
N = ± ( S k − 1 × 1 6 k − 1 + S k − 2 × 1 6 k − 2 + . . . + S 2 × 1 6 2 + S 1 × 1 6 1 + S 0 × 1 6 0 ) \footnotesize N=±(S_{k-1}×16^{k-1}+S_{k-2}×16^{k-2}+...+S_{2}×16^{2}+S_{1}×16^{1}+S_{0}×16^{0}) N=±(Sk1×16k1+Sk2×16k2+...+S2×162+S1×161+S0×160)
其中S代表1个数码,k是数码的位置量,底数是16。

例如表示一个数+668,其16进制数为(29C)
                        1 6 2                     1 6 1                     1 6 0               位 置 量                       2                        9                         C                 数 字      N = + ( 2 × 1 6 2     +     9 × 1 6 1     +     12 × 1 6 0 ) = + 668 \footnotesize \begin{matrix} ~~~~~~~~~~~~~~~~~~~~~~~16^2~~~~~~~~~~~~~~~~~~~16^1~~~~~~~~~~~~~~~~~~~16^0~~~~~~~~~~~~~位置量\\ ~~~~~~~~~~~~~~~~~~~~~2~~~~~~~~~~~~~~~~~~~~~~9~~~~~~~~~~~~~~~~~~~~~~~C~~~~~~~~~~~~~~~数字\\ ~~~~N=+(2×16^{2}~~~+~~~9×16^{1}~~~+~~~12×16^{0})=+668 \end{matrix}                        162                   161                   160                                  2                      9                       C                   N=+(2×162   +   9×161   +   12×160)=+668
最大值为:
N m a x = 1 6 k − 1 \footnotesize N_{max}=16^k-1 Nmax=16k1

16进制的实数表示

值计算公式:
                      整 数 部 分                                                          小 数 部 分 N = ± ( S k − 1 × 1 6 k − 1 + . . . + S 1 × 1 6 1 + S 0 × 1 6 0 ) + ( S − 1 × 1 6 − 1 + . . . + S − i × 1 6 − l ) \footnotesize ~~~~~~~~~~~~~~~~~~~~~整数部分~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~小数部分\\ N=±(S_{k-1}×16^{k-1}+...+S_{1}×16^{1}+S_{0}×16^{0})+(S_{-1}×16^{-1}+...+S_{-i}×16^{-l})                                                                              N=±(Sk1×16k1+...+S1×161+S0×160)+(S1×161+...+Si×16l)

例如表示实数+668.9375,其16进制数为(29C.F)
    1 6 2                    1 6 1                      1 6 0                       1 6 − 1 2                        9                          C             .             F                   N = + ( 2 × 1 6 2     +     9 × 1 6 1     +     12 × 1 6 0     +     15 × 1 6 − 1 ) = + 668.9375 \footnotesize \begin{matrix} ~~~16^2~~~~~~~~~~~~~~~~~~16^{1}~~~~~~~~~~~~~~~~~~~~16^{0}~~~~~~~~~~~~~~~~~~~~~16^{-1}\\ 2~~~~~~~~~~~~~~~~~~~~~~9~~~~~~~~~~~~~~~~~~~~~~~~C~~~~~~~~~~~.~~~~~~~~~~~F\\ ~~~~~~~~~~~~~~~~~N=+(2×16^{2}~~~+~~~9×16^{1}~~~+~~~12×16^{0}~~~+~~~15×16^{-1})=+668.9375 \end{matrix}    162                  161                    160                     1612                      9                        C           .           F                 N=+(2×162   +   9×161   +   12×160   +   15×161)=+668.9375

不同进制的数字比较

十进制二进制八进制十六进制
0000
1111
21022
31133
410044
510155
611066
711177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值