摘要:前言對于程序員的世界,一切東西皆二進制。地址的計算根據常識,的每一位的區(qū)域只有在區(qū)間。根據它的二進制就明了。查詢的話,數(shù)字效率是高于字符串的。
前言
??對于程序員的世界,一切東西皆二進制。
PHP整型長度與二進制原理??我們一直說的整型有32位,很多人都說整型數(shù)最大值有2^32 -1,其實這個相對于無符號整型數(shù),那么這里來談論下有符號整型數(shù)。一個整型占四個字節(jié),每個字節(jié)有8bit,假設一個整數(shù)3 可以表達為:
在這里為了方便觀察,八位隔開,真正意義上來說,它是連續(xù)的。
00000000 00000000 00000000 00000011
SUM = 2^0 + 2^1 = 3
那么怎么表示正負數(shù)?規(guī)定中,有符號整型數(shù),第32位為0代表正,1則為負
所以-1這么表示
10000000 00000000 00000000 00000001
最大正整數(shù)就可以這么表示
01111111 11111111 11111111 11111111
SUM = 2^0 + 2^1 + 2^2·······
可以發(fā)現(xiàn),這個變成了我們高中數(shù)學,求等比數(shù)列前N項和
重溫下公式:
Sn = (1-q^n)/(1-q)
前面公式可以看出公比為2,有31項。
Sn = 2^31 - 1
所以要記住,有符號整型最大值為2^31 - 1 = 2147483647
最小值卻是-2147483648,有興趣研究可以百度之。
??根據常識,IP的每一位的區(qū)域只有在0-255區(qū)間。根據它的二進制就明了。
比如IP 127.0.0.1
01111111 00000000 00000000 00000001
IP每位區(qū)間只能在 [00000000,11111111]
套公式計算一下,[0,255]
IP字符串與整型的互換
PHP確實是好東西,幫我們弄了兩個函數(shù)`ip2long()`,`long2ip()`,代碼說話:
三個var_dump類型分別為string,int,string
這個的應用的話,有一點是很實在的,那就是存SQL。
1.一個整型用的空間比一串字符串來的小。
2.SQL查詢的話,數(shù)字效率是高于字符串的。
其他還有很多,期待其他同學補充。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/21020.html
摘要:本文是淺析微信支付系列文章的第十三篇,主要講解在如何開通商戶平臺的紅包功能和為用戶發(fā)放紅包,以及查詢發(fā)送紅包記錄。操作路徑登錄微信支付商戶平臺產品中心現(xiàn)金紅包開通。 本文是【淺析微信支付】系列文章的第十三篇,主要講解在如何開通商戶平臺的紅包功能和為用戶發(fā)放紅包,以及查詢發(fā)送紅包記錄。 淺析微信支付系列已經更新十三篇了喲~,沒有看過的朋友們可以看一下哦。 淺析微信支付:(余額提現(xiàn))企業(yè)...
摘要:本文是淺析微信支付系列文章的第十二篇,主要講解在商戶存在的提現(xiàn)商戶付款到微信用戶零錢或者銀行卡需求。應用場景微信支付已上線企業(yè)付款至銀行卡功能。企業(yè)付款到銀行卡發(fā)票與交易手續(xù)費發(fā)票為拆分單獨開具。 本文是【淺析微信支付】系列文章的第十二篇,主要講解在商戶存在的提現(xiàn)、商戶付款到微信用戶零錢或者銀行卡需求。 淺析微信支付系列已經更新十二篇了喲~,沒有看過的朋友們可以看一下哦。 淺析微信支...
閱讀 3106·2021-11-18 10:02
閱讀 2618·2021-10-13 09:47
閱讀 3034·2021-09-22 15:07
閱讀 791·2019-08-30 15:43
閱讀 1810·2019-08-30 10:59
閱讀 1685·2019-08-29 15:34
閱讀 1702·2019-08-29 15:06
閱讀 438·2019-08-29 13:28