java二进制是怎么计数的

进制对很多了解计算机的并不陌生,进制本身是一种记数方式,可用有限个符号表示无限的数.我们常见的进制有10进制,2进制,8进制以及16进制.之前我也在前面的博文中分享过个人一些进制方面的笔记.还是有人后台问我,为啥2进制计数是:0 1 10 11 100 101…这样的,为什么后面就变成了10 11 100 101这种,刚开始我看到这个信息的时候也是不知道如何来说,对于小白来说,常规思路的局限导致我们习惯性的只能记住10进制,逢10进1的常规思路,1 2 3 4 5 6 7 8 9 10后面自然11,单凭一句二进制逢2进1,的确很难理顺思路.今天写这篇博文,主要给正在学习进制以及对二进制疑惑的朋友.话扯的有点多,马上进入正题.

常规的十进制

0 1 2 3 4 5 6 7 8 9 10 11

这里我们先看下10进制原理,十进制采用0-9来计数,那么9后面怎么计数?我们没有这个数,结合十进制逢10进1,那么我们就进一个1,然后后面继续0-9.数字就变成了:10 11 12 13 14 15 16 17 18 19,到这里我们看到19,这个9后面又是一个逢10进1,我们就将这个1与原先进的这个1相加,后面继续重复0-9.
得到:20 21 22 23 24 25 26 27 28 29…依次类推 90 91 92 93 94 95 96 97 98 99,这里的99,后面的9马上就要逢10进1.参照下图:
java二进制是怎么计数的_第1张图片
逢10进1,后面继续循环0-9十进制的计数符号.

二进制
逢2进1
使用符号:0 1
示例:0 1 10 11 100 101 110 111 1000 …
程序写法:加前缀0b或者0B
如:0b100 0B111
特殊值:0b1111=15 0b11111111=255

这些都是知识点,我们具体来分析:

10进制数 0 1 2 3 4 5 6 7 8 9 10 11
二进制数 0 1 10 11 100 101 110 111 1000 1001 1010 1011

我们结合前面十进制的图,参照上表,我们来分析,为什么是这么写的:
01是二进制的符号的,下面搬图:
java二进制是怎么计数的_第2张图片

后面继续循环 01 就是10,11
java二进制是怎么计数的_第3张图片
后面继续循环 0 1,就是 100 101
java二进制是怎么计数的_第4张图片
类推到 111
java二进制是怎么计数的_第5张图片
后面继续循环二进制的计数符号 0和1.

通过上面我们就很容易写出下面的:
1000 1001 1010 1011 1100

1100通过计算为12,通过8421计算法我们可得:8+4+0+0=12

以上就是本人的总结,欢迎各位新人来讨论.谢谢大家!

你可能感兴趣的:(javaSE)