摘要:前言对于程序员的世界,一切东西皆二进制。地址的计算根据常识,的每一位的区域只有在区间。根据它的二进制就明了。查询的话,数字效率是高于字符串的。
前言
对于程序员的世界,一切东西皆二进制。
PHP整型长度与二进制原理 我们一直说的整型有32位,很多人都说整型数最大值有2^32 -1,其实这个相对于无符号整型数,那么这里来谈论下有符号整型数。一个整型占四个字节,每个字节有8bit,假设一个整数3 可以表达为:
在这里为了方便观察,八位隔开,真正意义上来说,它是连续的。
00000000 00000000 00000000 00000011
SUM = 2^0 + 2^1 = 3
那么怎么表示正负数?规定中,有符号整型数,第32位为0代表正,1则为负
所以-1这么表示
10000000 00000000 00000000 00000001
最大正整数就可以这么表示
01111111 11111111 11111111 11111111
SUM = 2^0 + 2^1 + 2^2·······
可以发现,这个变成了我们高中数学,求等比数列前N项和
重温下公式:
Sn = (1-q^n)/(1-q)
前面公式可以看出公比为2,有31项。
Sn = 2^31 - 1
所以要记住,有符号整型最大值为2^31 - 1 = 2147483647
最小值却是-2147483648,有兴趣研究可以百度之。
根据常识,IP的每一位的区域只有在0-255区间。根据它的二进制就明了。
比如IP 127.0.0.1
01111111 00000000 00000000 00000001
IP每位区间只能在 [00000000,11111111]
套公式计算一下,[0,255]
IP字符串与整型的互换
PHP确实是好东西,帮我们弄了两个函数`ip2long()`,`long2ip()`,代码说话:
三个var_dump类型分别为string,int,string
这个的应用的话,有一点是很实在的,那就是存SQL。
1.一个整型用的空间比一串字符串来的小。
2.SQL查询的话,数字效率是高于字符串的。
其他还有很多,期待其他同学补充。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/21020.html
摘要:本文是浅析微信支付系列文章的第十三篇,主要讲解在如何开通商户平台的红包功能和为用户发放红包,以及查询发送红包记录。操作路径登录微信支付商户平台产品中心现金红包开通。 本文是【浅析微信支付】系列文章的第十三篇,主要讲解在如何开通商户平台的红包功能和为用户发放红包,以及查询发送红包记录。 浅析微信支付系列已经更新十三篇了哟~,没有看过的朋友们可以看一下哦。 浅析微信支付:(余额提现)企业...
摘要:本文是浅析微信支付系列文章的第十二篇,主要讲解在商户存在的提现商户付款到微信用户零钱或者银行卡需求。应用场景微信支付已上线企业付款至银行卡功能。企业付款到银行卡发票与交易手续费发票为拆分单独开具。 本文是【浅析微信支付】系列文章的第十二篇,主要讲解在商户存在的提现、商户付款到微信用户零钱或者银行卡需求。 浅析微信支付系列已经更新十二篇了哟~,没有看过的朋友们可以看一下哦。 浅析微信支...
阅读 3112·2021-11-18 10:02
阅读 2620·2021-10-13 09:47
阅读 3042·2021-09-22 15:07
阅读 796·2019-08-30 15:43
阅读 1812·2019-08-30 10:59
阅读 1688·2019-08-29 15:34
阅读 1705·2019-08-29 15:06
阅读 442·2019-08-29 13:28