Java基础教程-首篇前序-二进制与十进制的相互转换

在学习java之前,我们先学习一下二进制的内容,

        为什么要学习二进制呢?

        我们往计算机存的xxx.txt,xxx.mp3,空空.avi啊,在我们看来是文字,歌曲,电影,但实际上在计算机里全都是以二进制进行存储计算的,学习二进制有助于让我们对我们的编程有更好的理解。

        二进制是什么?

        先说说十进制,十进制实际上源于我们绝大部分人类有10根手指,可以方便的让我们计算的时候,勾手指头算算。十进制我们也很熟悉了,它由0-9十个数字组成,逢10进一位,也就是0,1,2,3,4,5,6,7,8,9,到了9之后,再加一个,就变成了10(请读一零),再增加就是11,12,13,14..........

      再看看二进制,同样是进制,道理是一样的,十进制是逢十进一位,(9+1成十,那就进一位,也就是一位数变两位数,成为10),那么二进制就是逢2进一位,也就是二进制是由0和1两个数字组成的。

       咱们先对应一下:

十进制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
二进制 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000 10001 10010

为什么是这样呢?其实非常简单。咱们把二进制一个个往后推看看:

首位0,接着0+1变成1没问题吧;

1再加1,现在是二进制,逢2进一位,也就成了  一零(yi ling);

一零+1,成 一 一(yi yi)

11加1,可以想象成十进制的99+1,个位往上进一位,十位也要进一位,那就成了100

100+1................接下去的自己往后算算吧

这样只要一个个算,任何数字我们都可以把任意的十进制的数转成对应的二进制,但是假如问你十进制为100的对应的二进制是多少,你要一个个加,是不是有点忒费劲了。

十进制和二进制的转换

十进制转二进制:

将十进制的数除以2,得到的余数再除以2,一直除下去,直到结果为0.

举例:将十进制的9转成二进制。

解读:首先把9除以2得到结果4余1

          接着把上一步得到的结果4 除以2,得到结果2余0

          然后把上一步得到的结果2 除以2,得到结果1余0

          最后把上一步得到的结果1 除以2,得到结果0余1

搞定! 二进制的结果就是把所有的余数至下往上排列的值 即——1001,看清楚,是把所有的余数自下往上排列 ↑

练习1:

      将十进制的数88转换成二进制,可将答案写在评论区。

能把十进制转成二进制了,那二进制如何转回十进制呢?

提示:目前到此并未涉及符号位概念,符号位概念将在下篇引入

比如现在有二进制数:1110,要转成十进制

转换方法:将二进制的数从最低位(最右的数)往最高位(最左的数) 从0开始数,

               比如咱们现在要算的数1110,

这个结果,我们叫做权位,也就是

二进制数:           1  1  1  0

对应的权位:       3  2  1  0

公式:

                                    十进制结果   等于  2的权位次方 乘以 对应的二进制的数  之和 

按我们的例子也就是:  十进制结果 =      (2的3次方 *  1) + (2的2次方 *1) +(2的1次方*1)+(2的0次方*0)

也就是 8*1  +  4*1  + 2*1   + 1*0 = 14

好了,到此我们已经会了十进制和二进制的相互转换。

练习2:

             将二进制数1110110转换成十进制,可以将结果写在评论区。

猜你喜欢

转载自blog.csdn.net/chenjing928/article/details/85787334