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

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

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

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

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

x
  话说上回 揭示了变态功能 那么这次就是二进制的学习啦进 制
5 k0 M* R; T8 L2 B9 Y7 O% @6 |
! e, `; O1 l( Y* B: J  首先,我们为什么要学习进制?尤其是二进制?
7 x  b% `. W( x4 A% s 090929icuhodgayzzwf2ra.png 2 W9 u: a+ Y6 \7 k" T

" }% u) Y2 \1 A, ?  原因很简单,因为计算机只能识别二进制啦
  r# K+ R& y6 U( ? 090929uua1xeadnqubibcu.png
- [2 y0 T: [* ^& Y
7 K8 o% w, L/ k& X$ d0 U+ A  进制分很多种,计算机经常使用的有二进制 十进制和十六进制。我们生活中也存在很多进制,只是我们没有去在意,比如:(1)六十进制,六十秒为一分钟,六十分钟为一小时。(2)二十四进制,二十四小时为一天。(3)十二进制,十二个月为一年。* |$ v1 Q2 |0 ^, N
090929sk6l6llaz0exuaua.png
5 |( G4 ~" e( h* [* L) m4 k3 I6 k& U' {
  接下来我们主要讲解一下,二进制跟十进制。
% Q' u& X6 J; q$ @ 091040r86a2jaahhmwjh0o.png 0 o5 M4 X$ \& f. |& c1 n, P0 D4 K$ k' H

" Q7 ^6 U% ]3 I1 E  `! k0 c4 v0 a  二进制:由0和1组成的,逢二进一的进制。十进制:由0123456789组成的,逢十进一的进制。PS:二进制中没有2,十进制中没有10,同理N进制中没有N。* Q1 ]" a7 a  Y8 t# |) Y
091040hn81mbflnztnfnpi.png 3 f1 b7 P' j# I+ x/ a
$ z8 @# J% I3 P
  接下来,我们深度研究一下,进制转换。
3 `, F1 D; Q9 ~4 c) O5 w4 X 091040tiq07ku3gktxzfuv.png
, P- M1 Y. V& T  g" `0 {, l- L; Q0 Y! B7 C, n
  一个十进制的数:123我们可以这样看:123=1*10*10 2*10 3也可以这样看:123=1*进制*进制 2*进制 33 D2 f5 r$ d5 a8 T4 V

& x' M$ ~" Y5 `3 }  那么二进制也是一样的原理一个二进制的数:111我们可以这样看:111=1*进制*进制 1*进制 1由于是二进制,所以可以这样看:二进制的111=1*2*2 1*2 1=7+ [( i( ?: g  c0 T
2 x! S! _% p  v6 J1 _6 {
  而这个7是个什么进制的数呢?答案就是十进制的7!以上也就是二进制转化十进制的过程。PS:N进制的数,按以上方法乘以N,得到的就是十进制的数。% `: E# R" N! @: S9 F) H
091040s1qjd19iz6zs7qj1.png
  M) ]: ^9 |, g
7 ^" z  Y8 x, F1 h/ C" A3 P  现在懵逼,还为何过早,下面我们继续研究十进制如何转化成二进制。            还来?
7 Q) L% l9 B) i; K' J" s. O2 O 091040rnuom9hmnbbol9uu.png ! ]$ H) W  `* T

) T4 Z8 n3 l: j2 r  刚才我们了解到,一个N进制的数,想要转换成十进制的数,需要按一定的方式去乘以N,那么反过来,一个十进制的数想要转化成N进制的数,需要如何操作呢?
# _8 B( B4 o, t7 [6 E/ C6 |8 z; Z 091041alxz6tstst2outvl.png * I) c: z; ^2 @* L, F& v8 l9 M; g7 J7 h
091041abd9tbp93dp7evel.png
+ M8 @* a$ ^' c- G
: R) T' C' n2 S, d2 A8 Z7 A  没错!一个十进制的数,想要转换成二进制,就用这个数去除以2,想要转换成3进制,就去除以3!# E* Q, k8 K5 d$ z
091041b887urtqqutt88ul.png
' c2 v+ k8 ^1 d( S% P% I2 X2 I+ F; X; i* I. C5 j3 H# U  |
  骚年!不要高兴的太早,你知道具体的转换方法么?你说十进制的100等于二进制的多少?
$ o& ]8 U9 T* b5 p' l% l 091041wsxic5ving5s155c.png
, S. I$ h3 |! a* [; `. c: A0 x
! O3 K* u( K+ g5 u6 \" u: _  50你大爷!二进制里怎么可能出现5呢?还是让我来告诉你吧!
) `2 a) m! D. |5 P9 s9 V+ i3 @8 d4 G( V8 n& @9 E! C& B& m- S
  十进制的100,转换成二进制,肯定是要用除法,但是怎么除,才是重中之重。/ u' t/ s3 J2 b

* ]$ ~/ {1 P. P  首先100/2=50余0   除以2以后,会出现两个数,一个是得数50和余数0,我们先把这两个数放在一起,也就是500。
+ i$ f! H$ U% T; C2 r+ Q! q
5 H& X5 d# `9 z9 X' k+ h: M  接下来,我保留余数0不动,用得数50继续除以2,也就是50/2=25余0。此时我们又得到两个数,25和余数0,加上之前还有一个余数0,所以得到2500,
. [8 A& D7 N& H
+ _5 E+ ]" \0 b  还是保留两个余数00不懂,就得数25继续除以2,得到12余1,再把得数放在前面,余数1放在后面,再加上之前两个余数,得到12100。0 l) `: h9 a6 s. f) P$ l

$ b  S9 [$ j% b  还是保留100三个余数不动,用得数12继续除以2,得到6余0,最终得到60100。
& w& N4 D. N: w2 a, f* [4 S" l+ ?8 K! j8 G+ f; ]( {
  保留四个余数0100不动,用6除以2,得3余0,最终得到300100。
4 x# L  r8 {* f$ i- a5 I$ K/ x
2 o! p+ p+ M- B8 d$ B/ c  保留五个余数00100不动,用3除以2,得1余1,最终得到1100100.
* t: b  X7 a4 r, x6 Q8 F, O6 R+ K3 R, E/ [
  终于最终结果里,只有1和0。) R1 _% x$ ^+ S. k( N! a+ ?

2 {; I, w* Z4 H6 f, T1 U1 g8 K. {  所以十进制的100,等于二进制的1100100。8 y5 k# O" F2 G1 z( P
091041wcrocq8o5q5o8cpq.png
4 ?. G% j! ~1 F9 V
3 [- L0 Z, M6 \6 y2 G. `4 G9 |  既然懂了,那我就考考你。
/ e3 a* ^, {" X7 I# z8 t
2 a: @+ C: }" O- Q  二进制:10000000000,转换成十进制是多少?
' J0 m! ^# e* e9 n$ V: R 091041whjxmlmlhkuu0lu0.png 3 ~4 {3 ]9 y# {* u2 c. \9 H" v
091041g900yzs3dhhhsyh1.png
- K2 D. K6 L3 J4 \1 y: m$ {
; M3 o- X. Q& P* k- ^  其实掌握原理之后,得出结果只是时间的问题,所以大家了解了原理,计算的事情交给计算器就好了!
& _0 B; ?  r& a% u, b0 L$ y2 q% @' E7 U8 z
  我还有更多干货,要不要学啊?; j! y' o1 ~& a$ R- f7 Z

, f# p8 W! Z& r/ m1 Y1 V7 G2 e9 y
/ z4 @" j- l) F2 Q. V1 Q/ {  
商乾电商学院,中国最大的电商资源交流基地!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

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

  • 微信公众号

  • 商务合作