数据精度

存储单位

1B = 8 b; //1字节 = 82进制位
1KB=1024B;
1MB=1024KB;
1GB=1024MB;
1TB=1024GB;

整型

一个字节(8位)可表示数的范围:

1.无符号数 = 0 ~ 2的8次方-1 = (0~255)

0000 00000000 00010111 11111000 00001000 00011111 1111
01127128129256

2.有符号数 = -2的7次方 ~ 2的7七次方-1 = (-128~127)

0000 00000000 00010111 11111000 00001000 00011111 1111
01127-128-127-1

php整型的范围

1.php整型数的字长和平台有关:通常32位系统下为4字节=4*8位=32位
2.范围 = -2的31次方 ~ 2的31七次方-1 = (-2147483648~0~2147483647)
var_dump(2147483647); //int(2147483647)
var_dump(2147483648); //float(2147483648) 整型溢出变为浮点型
3.php不支持无符号整型
4.字长可以用常量 PHP_INT_SIZE来表示

C整型范围

1.C语言有多种类型不同字长的整型
2.int long类型的字长与平台有关
3.字长用sizeof()函数表示

#include <stdio.h>

int main()
{
    printf("%d",sizeof(char));//1
    printf("%d",sizeof(short));//2
    printf("%d",sizeof(int));//4
    printf("%d",sizeof(long));//4
    printf("%d",sizeof(long long));//8
}

浮点型

与整型直接存二进制数表示整数的方式不同,浮点型存储的是一种编码形式:
如C语言中double类型,8个字节(64位)中第一位表示正负,第2~12位表示指数部分,剩下的52位表示分数的大小
浮点数的内部表达

php浮点型范围

1.浮点数的字长和平台相关:通常为8个字节=8*8位=64位
2.通常有效数字是14 个(所有数字左边第一个非零数开始计算)十进制数字的精度,最大值是 1.8e308
3.php的配置文件中使用precision来设定全局指定浮点数的精度值,似乎每个发行版,它的默认设置都不太一样,我的w10下看到是12,在linux下看到此值是14

var_dump(1.234567890124); //float(1.23456789012)
var_dump(1.234567890125); //float(1.23456789013) 

php中浮点数的精度值是用来控制输出该浮点数时使用的,可以理解为控制输出的位数,精度值不同,看到输出结果也可能不一样,注意:其内部还是按照实际值存储的,当两个浮点数进行四则运算时,用的还是其本来的值。
http://www.zuimoban.com/php/php/5724.html

C浮点型范围

如double为8个字节=8*8位=64位,表示的最大值为1.79e308,精确表示的有效数字为15个
这里写图片描述
3.字符串

字符串最大可以达到 2GB。字符串会被按照所在脚本文件相同的编码方式来编码, UTF-8编码中一个字符=3个字节;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值