二维码会被人类扫完吗?

2年前 (2022) 程序员胖胖胖虎阿
176 0 0

点击上方 Java后端选择 设为星标

优质文章,及时送达


支付码、名片码、健康码、校园码、复学码、乘车码、挪车码码码码码码码码码码码码码码码码码码码码码码码码码码,这么多码?光疫情期间,微信“码上经济”就用掉了 1400亿个二维码,那么就有同学来问了:

二维码会被人类扫完吗? 

我们邀请到两位鹅厂开发老鹅来解答:
这个问题很简单,答案是:会。
因为二维码的尺寸是有限的,那二维码的数量就是有限的。
但是扫完所有的二维码,需要很长很长很长很长的时间。
现在的二维码有40个官方版本(二维码是由Denso公司于1994年9月研制的一种矩阵二维码符号)。
从Version1-40,最小为21*21、最大为177*177矩阵。
其中,微信名片就是37×37 的矩阵规格,微信的付款码是 25×25 的矩阵规格。方便理解,我们用方块作为矩阵单位。
二维码会被人类扫完吗?
扫~37×37矩阵的二维码
如何计算,各矩阵中生成的二维码个数?我们来举个例子:

下面四宫格,每个格子有两种颜色变化,请问一个四宫格可以组合出多少个图形?
二维码会被人类扫完吗?
解:一个格子两种颜色,那就是两种可能,两个格子就是四种可能,三个格子就是8种可能,四个格子就是16种可能。所以,四宫格能够组成2^4,共16个图形。
二维码会被人类扫完吗?


以此类推:
25X25 的微信付款码  
二维码会被人类扫完吗?


每一排有 25 个方块,共 25 列,除去定位用的方块和冗余纠错的方块等,还剩下478 个方块。按照二进制,每个方块只有黑或白两种选择,所以 478 个小方块理论上一共可以组合 2^478 个二维码。

也就是一个25X25规格尺寸的二维码可以生成:
780437137578998057845399307448291576437149535666242787714789239906342934704941405030076525765872992789956732780351655723861993919822071326572544个二维码。
大家可以尝试念出来大概多少个?
根据疫情期间1400亿个二维码的数量来计算,假设微信一年会用掉6000亿个二维码。那微信用掉25X25这一个尺寸产生的二维码需要多少年呢?
我们来算一下:2^478/6000亿=1.301×10^132 年(超多亿亿亿亿年)
二维码咱中国人是不缺了,小小推广一下,世界上所有人都用,那就是
1.301×10^132 / 5 = 2.602 x 10^131 年(好多亿亿亿亿年)
二维码会被人类扫完吗?
还能给力推广一下么?
根据资料,宇宙中大约有700垓(7x10^22)颗恒星,又根据德雷克公式
二维码会被人类扫完吗?
预计会有15600000个星球有智能生命,假设每颗星球上有地球同等人口需要扫二维码的外星人,那够全宇宙扫
2.602 x 10^131 / 1.56x10^7 = 1.668x10^124 年(很多亿亿亿亿年)
参考热寂理论对宇宙终极命运猜想 一千万亿年后,行星脱离轨道,所有生物都没办法依靠恒星活着了,那个时候二维码还是远远没有扫完。
看来,全宇宙都用上也不愁了。
只是,人类可观测宇宙有大约为93 × 10^9光年,所以离地球远点的星球,估计要等上好一阵才能扫到码了。

二维码会被人类扫完吗?

本文转发自腾讯)



-END-

如果看到这里,说明你喜欢这篇文章,请 转发、点赞。同时 标星(置顶)本公众号可以第一时间接受到博文推送。

1. 再见 JSP !

2. 再战 Spring IOC!

3. 小白也能读懂的 Docker 入门教程

4. Spring Boot+Redis实现接口自动幂等

二维码会被人类扫完吗?


最近整理一份面试资料
《Java技术栈学习手册》
,覆盖了Java技术、面试题精选、Spring全家桶、Nginx、SSM、微服务、数据库、数据结构、架构等等。

获取方式:点“ 在看,关注公众号 Java后端 并回复 777 领取,更多内容陆续奉上。


喜欢文章,点个在看 二维码会被人类扫完吗?

本文分享自微信公众号 - Java后端(web_resource)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

版权声明:程序员胖胖胖虎阿 发表于 2022年9月4日 上午9:40。
转载请注明:二维码会被人类扫完吗? | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...