从你的全世界路过-醉清风,宛如一场梦

关于二进制与十进制之间的关系

 

一、正整数的十进制转换二进制:

 

要点:除二取余,倒序排列

 

解释:将一个十进制数除以二,得到的商再除以二,依此类推直到商等

于一或零时为止,倒取将除得的余数,即换算为二进制数的结果

 

52除以2  得到的余数依次为:

0

0

1

0

1

1

,倒序排列,所以    52  对应的二进制数就是110100。

 

由于计算机内部表示数的字节单位都是定长的,以2的幂次展开,或者8位,或者16位,或者32位....。

 

于是,一个二进制数用计算机表示时,位数不足2的幂次时,高位上要补足若干个0。本文都以8位为例。那么:(52)10=(00110100)2

 

以8位 来演示,再写几个:

 

1.第一种:

 

   00000001      1

   00000010      2

   00000100      4

   00001000      8

   00010000      16

   00100000      32

   01000000      64

   10000000      128

 

 

2.第二种:

 

  00000001      1

  00000011      3

  00000111      7

  00001111      15

  00011111      31

  00111111      63

  01111111      127

 

 

3.第三种:

 

  10000000     128

  11000000     192

  11100000     224

  11110000     240

  11111000     248

  11111100     252

  11111110     254

 

 

举个例子:  11101011     

                         可分为:

                         11100000(上面第三种类型)   224

                         00001000(上面第一种类型)   8

                         00000011(上面第二种类型)   3

我们通过记住上面三种类型的转换,再用加 法(加法口算你会吧)立即得到结果:235

 

 

==================================================================================

 

 

方法二:

 

熟记以下排列,其实很Easy了,从右往 左,依次是前一个数的2倍:

256      128      64       32      16      8        4         2         1

 

随便写个数字比如48

48 = 32 + 16,所以在32 和 16所在的位置为1,其余为0,

转为2进制就是

256  128  64  32  16  8   4   2   1

0      0       0    1    1   0   0   0   0

 

二进制转十进制就更简单了,

比如随便写的一串 01111101

先写上 :  0         1           1         1         1         1          0          1

然后填充 128      64        32       16        8          4          2          1

 

十进制为 64+32+16+8+4+1=125

posted @ 2017-04-18 22:21  时生杂货铺  阅读(82)  评论(0编辑  收藏  举报