字节(Byte)
是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符 。
位(bit又名“比特”)
数据传输大多是以“位”为单位,一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是最小一级的信息单位。
字(Word)
在计算机中,一串数码作为一个整体来处理或运算的,称为一个计算机字,简称字。字通常分为若干个字节(每个字节一般是8位),在存储器中,通常每个单元存储一个字。因此每个字都是可以寻址的。字的长度用位数来表示 。
字长
计算机的每个字所包含的位数称为字长,计算的字长是指它一次可处理的二进制数字的数目。一般地,大型计算机的字长为32-64位,小型计算机为12-32位,而微型计算机为4-16位。字长是衡量计算机性能的一个重要因素 。
1字节(Byte)=8位(bit)
1KB( Kilobyte,千字节) = 10的二次方B = 1024B
1KB(Kilobyte,
1MB(Megabyte,
1GB(Gigabyte,吉字节,十亿字节,又称"千兆")=1024MB= 2^30 B;
1TB(Terabyte,万亿字节,
1PB(Petabyte,千万亿字节,
1EB(Exabyte,百亿亿字节,
1
1YB(Yottabyte,一亿亿亿字节,
1BB(Brontobyte,一千亿亿亿字节)=
1NB(NonaByte,一百万亿亿亿字节) =
1DB(DoggaByte,十亿亿亿亿字节) =
ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值0,最大值255。如一个ASCII码就是一个字节。
UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。
Unicode编码:一个英文等于两个字节,一个中文(含繁体)等于两个字节。
符号:英文标点占一个字节,中文标点占两个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节的大小。
二进制中的表数范围:无符号是0~255,有符号是-128~127
8位二进制码有2^8=256个状态.如果用来表示无符号数,就可以表示0~255恰好256个二进制数;而如果表示带符号数,则最高位就是符号位,0表示"+",1表示"-",剩下的7位用来表示绝对值(采用补码形式).0用"+0"表示,正数为+1~+127,负数为-1~-127,剩下一个"-0"则用来表示-128(在数学中,0是没有正负的),所以,带符号数的表示范围就成了-128~+127了.
Byte 一个字节的数据大小范围为什么是-128~127
一个字节是8位,最高位是符号位,最高位为0则是正数。最高位为1则是负数
如果一个数是正数,最大数则为:01111111,转为十进制为127,
如果一个数是负数,按照一般人都会觉得是11111111,转为十进制为-127,
但是:一个+0表示为:00000000,一个-0表示为:1000000,因为符号位不算在里面,所以就会有两个0,所以从一开始发明二进制的时候,就把-0规定为-128,如此二进制的补码就刚好在计算机中运作中吻合。(这是国内教材中的解释)
公式:计算一个数据类型的数据大小范围:-2^(字节数8-1)~2^(字节数8-1)-1
或
由于有符号位的存在,所以负数的值,最低可以到-128.
负数的2进制计算方法是,除了符号位之外,取反再加1。
所以1000 000 ,除符号位之后,取反得到 1111 1111 ,再加1得到:1000 0000 = -128 符号位要记得。
而1111 1111 ------取反-----> 1000 0000 --------加1---------> 1000 0001 = -1这边符号位还在。
注意一点: -1 比 -128 要大
如下所示。
00000000 => 0 11111111 => -1 10000000 => -128 01111111 => 127
网速怎么算?
网络线路的计量单位,也就是我们通常说的 2M 宽带,10 M 宽带的单位,是 比特每秒(bits per second)。比特每秒 的缩写为 bps,意思是每秒接收的平均比特数。更大的单位是 千比特每秒(Kbps)或 兆比特每秒(Mbps)。2M宽带,意味着每秒平均可以接受 2Mb 的数据,也就是二百万左右比特的数据,在这里,小写 b 的意思就是比特了。
而通常我们说的下载速度,也就是网速,是每秒下载的字节数。比如网速是 5 KB(这网速可是够慢的),意思就是每秒接收的数据是 五千字节。
那我们根据 一字节 等于 8 比特的 换算方法,就可以得出以下结论。
下载速度从理论上来说,应该是 带宽的 八分之一。
2M 宽带理论下载速度是 256 KB
10M 宽带理论下载速度是 1280 KB
实际上由于我们还需要接受一些下载需要的一些信息,如 IP 信息,HTTP 信息,再加上服务器传输速度,电脑配置等原因,网速会比理论慢一些。
由于很多人都会混淆 字节的大写 B 和比特的小写 b,造成各种混乱。所以在书写单位缩写时,一定要注意 字节 和 比特 的单位的大小写 。
总结一下,有以下几个要点需要注意:
-
存储单位和网速的单位,不管是 B 还是 b,代表的都是 字节 Byte。
-
带宽的单位,不管是 B 还是 b,代表的都是 比特 bit 。
字节、字、bit、byte的关系
字 word 字节 byte 位 bit,来自英文bit,音译为“比特”,表示二进制位。 字长是指字的长度
1字=2字节(1 word = 2 byte) 1字节=8位(1 byte = 8bit)
一个字的字长为16 一个字节的字长是8
bps 是 bits per second 的简称。一般数据机及网络通讯的传输速率都是以「bps」为单位。如56Kbps、100.0Mbps 等等。 Bps即是Byte per second 的简称。而电脑一般都以Bps 显示速度,如1Mbps 大约等同 128 KBps。 bit 电脑记忆体中最小的单位,在二进位电脑系统中,每一bit 可以代表0 或 1 的数位讯号。 Byte一个Byte由8 bits 所组成,可代表一个字元(A~Z)、数字(0~9)、或符号(,.?!%&+-*/),是记忆体储存资料的基本单位,至於每个中文字则须要两Bytes。当记忆体容量过大时,位元组这个单位就不够用,因此就有千位元组的单位KB出现,以下乃个记忆体计算单位之间的相关性:
1 Byte = 8 Bits
1 KB = 1024 Bytes
1 MB = 1024 KB
1 GB = 1024 MB
usb2.0标准接口传输速率。许多人都将“480mbps”误解为480兆/秒。其实,这是错误的,事实上“480mbps”应为“480兆比特/秒”或“480兆位/秒”,它等于“60兆字节/秒”,大家看到差距了吧。
这要从bit和byte说起:bit和byte同译为"比特",都是数据量度单位,bit=“比特”或“位”。 byte=字节即1byte=8bits,两者换算是1:8的关系。 mbps=mega bits per second(兆位/秒)是速率单位,所以正确的说法应该是说usb2.0的传输速度是480兆位/秒,即480mbps。 mb=mega bytes(兆比、兆字节)是量单位,1mb/s(兆字节/秒)=8mbps(兆位/秒)。
我们所说的硬盘容量是40gb、80gb、100gb,这里的b指是的byte也就是“字节”。 1 kb = 1024 bytes =2^10 bytes 1 mb = 1024 kb = 2^20 bytes 1 gb = 1024 mb = 2^30 bytes
比如以前所谓的56kb的modem换算过来56kbps除以8也就是7kbyte,所以真正从网上下载文件存在硬盘上的速度也就是每秒7kbyte。 也就是说与传输速度有关的b一般指的是bit。 与容量有关的b一般指的是byte。
最后再说一点: usb2.0 480mbps=60mb/s的传输速率还只是理论值,它还要受到系统环境的制约(cpu、硬盘和内存等),其实际读、取写入硬盘的速度约在11~16mb/s。但这也比usb1.1的12mbps(1.5m/s)快了近10倍。
扩展阅读
字节的来由
最开始计算机只是处理数据运算,也就是0-9,加上运算符号,4bit足够了。举个例子(实际不是这样):用0000表示0,0001表示1,0010表示2,依次类推。 后来加入了字母,程序符号等,8bit也足够了,而这时诞生了ASCII编码的标准,大家就说把8bit表示出来的值叫做字节(byte)吧,于是就有了字节这个单位。 所以1byte等于8bit是计算机发展中的一个约定出来的规则。
汉字:
1 汉字 = 2 byte = 16 bit (这里不是很准确,当编码不同的时候,1个汉字所占的字节数也会有所不同,有些编码是占 2个字节,有些则不是,可能是 3个或者 4个)
Java的八大基本数据类型
字节 | 内存 | 取值范围 | ||||
---|---|---|---|---|---|---|
数据类型 | 基本数据类型、内置类型 | 整数类型 | byte(字节型) | 1 | 8位 | -128~127(-2^7 ~2^7 -1) |
short(短整型) | 2 | 16位 | -32768~32767(-2^15~2^15-1) | |||
int(整型) | 4 | 32位 | -2147483648~ | |||
long(长整型) | 8 | 64位 | -9223372036854774808~9223372036854774807(-2^63~2^63-1) | |||
浮点类型 | float(单精度型) | 4 | ||||
double(双精度类型) | 8 | |||||
字符类型 | char | 1 | ||||
布尔类型 | boolean | 1 | ||||
引用类型 |