返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

[编程语言] 有趣的二进制

[复制链接]
北极孤星的泪 显示全部楼层 发表于 2020-4-2 09:32:53 |阅读模式 打印 上一主题 下一主题

登录网站,浏览更多精彩内容

您需要 登录 才可以下载或查看,没有账号?加入我们

x
  话说上回 揭示了变态功能 那么这次就是二进制的学习啦进 制7 H: X( A4 E% j% x
: z6 V/ v  N; v3 B& v  N( Y
  首先,我们为什么要学习进制?尤其是二进制?
* p( `! h; H0 n0 {( O+ y/ p9 w 090929icuhodgayzzwf2ra.png
! f0 a; \  @) C/ S/ s" M8 ^+ n+ Q4 i4 L" j" m
  原因很简单,因为计算机只能识别二进制啦
& m4 O2 \! T$ \3 i8 K 090929uua1xeadnqubibcu.png 2 l3 I7 b# V* w3 ?5 C7 C

: ^9 s) {9 ^9 x# p  |& h  进制分很多种,计算机经常使用的有二进制 十进制和十六进制。我们生活中也存在很多进制,只是我们没有去在意,比如:(1)六十进制,六十秒为一分钟,六十分钟为一小时。(2)二十四进制,二十四小时为一天。(3)十二进制,十二个月为一年。
9 E' {. p4 j0 L% q% r 090929sk6l6llaz0exuaua.png ; F* f. z8 }3 r
: f6 Z. K8 s% w; ]9 P8 @7 h
  接下来我们主要讲解一下,二进制跟十进制。  e% m( F, P( [* k
091040r86a2jaahhmwjh0o.png
7 }* Q; Q: {+ g: z3 t# w# s8 J  F- t
  二进制:由0和1组成的,逢二进一的进制。十进制:由0123456789组成的,逢十进一的进制。PS:二进制中没有2,十进制中没有10,同理N进制中没有N。
+ s( q) S8 B+ U% {( t+ G# }3 R 091040hn81mbflnztnfnpi.png
' j. e  N/ ?% C3 |/ c2 `  l1 h5 m: H, F! Q* v6 \( |# T, N
  接下来,我们深度研究一下,进制转换。" E  x3 _# N( n
091040tiq07ku3gktxzfuv.png : s0 i; O. x1 a+ F6 P

0 ~/ S/ X* \3 k) ?; h0 k8 D  一个十进制的数:123我们可以这样看:123=1*10*10 2*10 3也可以这样看:123=1*进制*进制 2*进制 3
5 e; ~3 P5 d& R5 q: d! w+ x8 n7 N1 E% K6 l2 W  ~6 u
  那么二进制也是一样的原理一个二进制的数:111我们可以这样看:111=1*进制*进制 1*进制 1由于是二进制,所以可以这样看:二进制的111=1*2*2 1*2 1=7
0 R3 n- Q0 o/ [  @& |& E$ ^! N) V! N3 d& r9 Y7 }2 W
  而这个7是个什么进制的数呢?答案就是十进制的7!以上也就是二进制转化十进制的过程。PS:N进制的数,按以上方法乘以N,得到的就是十进制的数。
4 ^5 v1 @( R8 ]: g2 t 091040s1qjd19iz6zs7qj1.png
2 B( }+ e- |& c; P, P# D, G1 J+ j
, a, U& X# r/ z: M% Q0 F, D6 }  现在懵逼,还为何过早,下面我们继续研究十进制如何转化成二进制。            还来?! W  S% Q" d& x9 ^6 i( G
091040rnuom9hmnbbol9uu.png
3 Y3 L2 [: k* j9 H( A9 K# i& D6 ~  _4 @
  刚才我们了解到,一个N进制的数,想要转换成十进制的数,需要按一定的方式去乘以N,那么反过来,一个十进制的数想要转化成N进制的数,需要如何操作呢?
6 L; ?. p, M' D! j+ {4 y. t 091041alxz6tstst2outvl.png
# L3 p1 n: E6 E 091041abd9tbp93dp7evel.png
$ Z2 a* A2 h; n0 s* p4 a; w( Z, l4 o8 n; K! b7 n
  没错!一个十进制的数,想要转换成二进制,就用这个数去除以2,想要转换成3进制,就去除以3!3 |0 F$ a% e. ?* X  W
091041b887urtqqutt88ul.png 3 r% e  D6 R. C7 E3 H
. Y) v4 j4 I, c7 s* ~
  骚年!不要高兴的太早,你知道具体的转换方法么?你说十进制的100等于二进制的多少?
) l' e: `6 v/ D6 A3 u0 D& e 091041wsxic5ving5s155c.png # V! S0 f- H: F6 h1 K

# u- c8 Y# H! k  z  50你大爷!二进制里怎么可能出现5呢?还是让我来告诉你吧!
1 e, @) p4 Z; y/ d- p% J9 k
( W1 }7 b" b  t5 E  十进制的100,转换成二进制,肯定是要用除法,但是怎么除,才是重中之重。
* `0 s" M/ x2 U1 ^' n9 B; s& d1 M9 b  C
  首先100/2=50余0   除以2以后,会出现两个数,一个是得数50和余数0,我们先把这两个数放在一起,也就是500。
0 N- u& L7 ^3 a2 T, N: A' L
% @- Q& W2 W  {! `$ l5 z" c* `  接下来,我保留余数0不动,用得数50继续除以2,也就是50/2=25余0。此时我们又得到两个数,25和余数0,加上之前还有一个余数0,所以得到2500,
) x; n( k7 K( x4 K1 p: ^$ N
# h" T; W0 t. d& C5 D" T  还是保留两个余数00不懂,就得数25继续除以2,得到12余1,再把得数放在前面,余数1放在后面,再加上之前两个余数,得到12100。: q! S2 A3 v$ t! C* W
$ }9 h1 K4 O, X$ `! e( |( S4 u
  还是保留100三个余数不动,用得数12继续除以2,得到6余0,最终得到60100。
# W! m6 X' p1 Y+ @  d
' L1 R$ e) N, j+ ~4 n8 t  保留四个余数0100不动,用6除以2,得3余0,最终得到300100。
( j" z( C& X& Z$ d% ^, q9 E9 T! y2 ^1 _. g" i' H
  保留五个余数00100不动,用3除以2,得1余1,最终得到1100100.
% Y5 I& e7 ~0 S
$ K& O; T) _( P8 j8 ]* z; c+ |  终于最终结果里,只有1和0。4 P( u, b6 r/ \, N( W5 k
$ e9 @1 a0 C( s. b
  所以十进制的100,等于二进制的1100100。
  h3 `$ m8 U( D* s  G 091041wcrocq8o5q5o8cpq.png
1 T+ p% G8 i; B% p& i5 y
6 w% ^8 U& k/ U) l  既然懂了,那我就考考你。, \( P9 ~" r! m) C* W

% D2 r' C. P: Q' A  }  二进制:10000000000,转换成十进制是多少?
4 Q, N7 h% L) R 091041whjxmlmlhkuu0lu0.png
% J. N8 {' K/ i8 Q 091041g900yzs3dhhhsyh1.png . Q3 K3 \: p, C5 b" O
/ O. P' j9 i2 m5 A( P$ l4 p
  其实掌握原理之后,得出结果只是时间的问题,所以大家了解了原理,计算的事情交给计算器就好了!7 b7 M# _# |* [) {! H

1 {3 _: S0 ^. p  我还有更多干货,要不要学啊?3 V, I( H7 K( C2 f1 {8 f& p1 \5 j$ A
3 C/ |5 W8 `0 z+ j% X, u8 m$ o
0 i/ ?8 c0 V3 e: q4 @
  
商乾电商学院,中国最大的电商资源交流基地!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

商乾全球电商人、电商交流学习与电商实战技术分享、电商爬虫、生活交流专业网站
  • 官方手机版

  • 微信公众号

  • 商务合作