字节、字符、位
字节(Byte /bait/ n. [C])是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符。
换算:
字符与字节
ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值0,最大值255。如一个ASCII码就是一个字节。
UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。
Unicode编码:一个英文等于两个字节,一个中文(含繁体)等于两个字节。
符号:英文标点占一个字节,中文标点占两个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节的大小。
不同数量级间
数据存储是以10进制表示,数据传输是以2进制表示的,所以1KB不等于1000B。
1KB=1024B=1024;1MB=1024KB=1024×1024B。其中1024=210。
1B(byte,字节)= 8 bit(位,见下文);
1KB(Kibibyte,千字节)=1024B= 2^10 B;
1BB(Brontobyte,一千亿亿亿字节)= 1024YB= 2^90 B;
1NB(NonaByte,一百万亿亿字节) = 1024 BB = 2^100 B;
存储类型
以下以Visual Basic为例,讲解各种数据类型所占字节。
数据类型 | 储存空间大小(单位:字节) | 范围 |
Byte(字节型) | 1 | 0 - 255 |
Boolean(布尔型/逻辑型) | 2 | True 或 False |
Integer(整数型) | 2 | -32,768 ~ 32767 |
Long(长整形)
|
4 | -2,147,483,648 ~ 2,147,483,647 |
Single
(单精度浮点型)
|
4 |
负数范围:
-3.402823E38 ~ -1.401298E-45
正数范围:
1.401298E-45 ~ 3.402823E38
|
Double
(双精度浮点型)
|
8 |
负数范围:
-1.797,693,134,862,32E308 ~
-4.940,656,458,412,47E-324
正数范围:
4.940,656,458,412,47E-324 ~
1.797,693,134,862,32E308
|
Currency
(变比整形 / 货币类型)
|
8 |
-922,337,203,685,477.5808 ~
922,337,203,685,477.5807
|
Decimal(十进制型) | 14 |
没有小数点时:
+/-79,228,162,514,264,337,593,543,950,335
有小数点时:
+/-7.922,816,251,426,433,759,354,395,033,5
最小的非零值:
+/-0.000,000,000,000,000,000,000,000,000,1
|
Date(时间日期型) | 8 | 100 年 1 月 1 日 ~ 9999 年 12 月 31 日 |
Object(对象型) | 4 | 任何 Object 引用 |
String (变长) | 10 | 长度从 0 到 大约 20 亿 |
String (定长) | 10 | 长度从 1 到大约 65,400 |
Variant (数字) | 16 | 任何数字值,最大可达 Double 的范围 |
Variant (字符) | 22 | 与字符串长度,变长 String 有相同的范围 |
用户自定义变量 | - | - |