






購物時可以用二維碼付款,手機添加好友時可以掃描對方的二維碼,可以掃描二維碼查詢網購商品的真偽……如今,二維碼作為移動支付、信息查詢、身份識別等功能的載體,已被廣泛應用到我們日常的生活中。據統計,人類每天要掃描100億個二維碼,那么,二維碼有被用完的那一天嗎?
看點1 二維碼的原理
不管是手機還是計算機都是用二進制進行運算和存儲的,只用0和1兩個符號。二維碼就是把你想表達的信息,先轉換成二進制中的0和1,再用黑白兩種小方塊表示0和1,白方塊表示0,黑方塊表示1,然后填到一個n×n的正方形網格中。
二維碼是否會被用完,就要看正方形網格中的黑白小方塊有多少種排列方式。我們可以試著在方塊里涂上黑白兩種顏色來研究一下。
同學們應該已經發現了,每增加1個小方塊,可能的排列方式會增加1倍,也就是說,對n個小方塊,有2n種排列方式。
看點2 二維碼有多少
那么,一個二維碼里有多少個可以用來表示信息的小方格呢?解決這個問題,我們需要知道二維碼的規格。
常用的二維碼有40種規格,最小的為21×21,最大的為177×177。比如,微信名片的二維碼規格是37×37,里面有37×37=1369(個)方格,微信付款碼的規格是25×25,里面有25×25=625(個)方格。不過,這并不意味著每一個方格都會用來表示我們要傳遞的信息。
我們以最小規格的21×21的二維碼為例來說明。
計算發現,上面這個21×21的正方形網格里,能被用來表示信息的方格有:
21×21-8×8×3-5×2=239(個)
也就是說,在21×21的二維碼中,黑白小方塊共有2239種排列方式。
我們可以再估算一下2239這個數字到底有多大。已知29= 512,210=1024,因此,2239=512×102423,102423等于23個1024相乘,4個1024相乘就超過了1萬億,23個1024相乘就是一個超級超級大的數字!
假設人類每天用1萬億個二維碼,也需要很多很多億年才能把規格為21×21的二維碼用完。同時,21×21的二維碼是規格最小的一種,隨著規格變大,黑白方塊的排列方式也越來越多。因此,同學們暫時不用擔心二維碼會被用完!