成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

淺析二進(jìn)制與int范圍/IP計(jì)算及PHP應(yīng)用

宋華 / 1687人閱讀

摘要:前言對(duì)于程序員的世界,一切東西皆二進(jìn)制。地址的計(jì)算根據(jù)常識(shí),的每一位的區(qū)域只有在區(qū)間。根據(jù)它的二進(jìn)制就明了。查詢的話,數(shù)字效率是高于字符串的。

前言

??對(duì)于程序員的世界,一切東西皆二進(jìn)制。

PHP整型長(zhǎng)度與二進(jìn)制原理

??我們一直說的整型有32位,很多人都說整型數(shù)最大值有2^32 -1,其實(shí)這個(gè)相對(duì)于無符號(hào)整型數(shù),那么這里來談?wù)撓掠蟹?hào)整型數(shù)。一個(gè)整型占四個(gè)字節(jié),每個(gè)字節(jié)有8bit,假設(shè)一個(gè)整數(shù)3 可以表達(dá)為:
在這里為了方便觀察,八位隔開,真正意義上來說,它是連續(xù)的。
00000000 00000000 00000000 00000011
SUM = 2^0 + 2^1 = 3
那么怎么表示正負(fù)數(shù)?規(guī)定中,有符號(hào)整型數(shù),第32位為0代表正,1則為負(fù)
所以-1這么表示
10000000 00000000 00000000 00000001
最大正整數(shù)就可以這么表示
01111111 11111111 11111111 11111111
SUM = 2^0 + 2^1 + 2^2·······
可以發(fā)現(xiàn),這個(gè)變成了我們高中數(shù)學(xué),求等比數(shù)列前N項(xiàng)和
重溫下公式:
Sn = (1-q^n)/(1-q)
前面公式可以看出公比為2,有31項(xiàng)。
Sn = 2^31 - 1
所以要記住,有符號(hào)整型最大值為2^31 - 1 = 2147483647
最小值卻是-2147483648,有興趣研究可以百度之。

IP地址的計(jì)算

??根據(jù)常識(shí),IP的每一位的區(qū)域只有在0-255區(qū)間。根據(jù)它的二進(jìn)制就明了。
比如IP 127.0.0.1
01111111 00000000 00000000 00000001
IP每位區(qū)間只能在 [00000000,11111111]
套公式計(jì)算一下,[0,255]

開發(fā)中的應(yīng)用

IP字符串與整型的互換

PHP確實(shí)是好東西,幫我們弄了兩個(gè)函數(shù)`ip2long()`,`long2ip()`,代碼說話:

三個(gè)var_dump類型分別為string,int,string
這個(gè)的應(yīng)用的話,有一點(diǎn)是很實(shí)在的,那就是存SQL。
1.一個(gè)整型用的空間比一串字符串來的小。
2.SQL查詢的話,數(shù)字效率是高于字符串的。
其他還有很多,期待其他同學(xué)補(bǔ)充。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/21020.html

相關(guān)文章

  • 淺析微信支付:商戶平臺(tái)開通現(xiàn)金紅包、指定用戶發(fā)放、紅包記錄查詢

    摘要:本文是淺析微信支付系列文章的第十三篇,主要講解在如何開通商戶平臺(tái)的紅包功能和為用戶發(fā)放紅包,以及查詢發(fā)送紅包記錄。操作路徑登錄微信支付商戶平臺(tái)產(chǎn)品中心現(xiàn)金紅包開通。 本文是【淺析微信支付】系列文章的第十三篇,主要講解在如何開通商戶平臺(tái)的紅包功能和為用戶發(fā)放紅包,以及查詢發(fā)送紅包記錄。 淺析微信支付系列已經(jīng)更新十三篇了喲~,沒有看過的朋友們可以看一下哦。 淺析微信支付:(余額提現(xiàn))企業(yè)...

    fizz 評(píng)論0 收藏0
  • PHP入門

    摘要:運(yùn)行在瀏覽器端。未來軟件的大趨勢(shì)。相同點(diǎn)為語(yǔ)言結(jié)構(gòu),不是函數(shù)輸出一個(gè)或者多個(gè)變量的類型,長(zhǎng)度及值一般用于打印復(fù)雜變量結(jié)合標(biāo)記格式化輸出如數(shù)組對(duì)象等輸出變量的值。一般用于打印變量。中認(rèn)為變量的值為時(shí),變量雖然定義了,但是無實(shí)際的意義。 PHP目錄======== php介紹 2 基礎(chǔ) 31 運(yùn)算符 70 流程控制 77 函數(shù) 91 文件引入 100 ...

    abson 評(píng)論0 收藏0
  • 淺析微信支付:(余額提現(xiàn))企業(yè)付款到微信用戶零錢或銀行卡賬戶

    摘要:本文是淺析微信支付系列文章的第十二篇,主要講解在商戶存在的提現(xiàn)商戶付款到微信用戶零錢或者銀行卡需求。應(yīng)用場(chǎng)景微信支付已上線企業(yè)付款至銀行卡功能。企業(yè)付款到銀行卡發(fā)票與交易手續(xù)費(fèi)發(fā)票為拆分單獨(dú)開具。 本文是【淺析微信支付】系列文章的第十二篇,主要講解在商戶存在的提現(xiàn)、商戶付款到微信用戶零錢或者銀行卡需求。 淺析微信支付系列已經(jīng)更新十二篇了喲~,沒有看過的朋友們可以看一下哦。 淺析微信支...

    ad6623 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<