字节、位、字

字节(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,千字节)=1024B= 2^10 B;

1MB(Megabyte,兆字节,百万字节,简称"兆")=1024KB= 2^20 B;

1GB(Gigabyte,吉字节,十亿字节,又称"千兆")=1024MB= 2^30 B;

1TB(Terabyte,万亿字节,太字节)=1024GB= 2^40 B;

1PB(Petabyte,千万亿字节,拍字节)=1024TB= 2^50 B;

1EB(Exabyte,百亿亿字节,艾字节)=1024PB= 2^60 B;

1ZB(Zettabyte,十万亿亿字节,泽字节)= 1024EB= 2^70 B;

1YB(Yottabyte,一亿亿亿字节,尧字节)= 1024ZB= 2^80 B;

1BB(Brontobyte,一千亿亿亿字节)= 1024YB= 2^90 B;

1NB(NonaByte,一百万亿亿亿字节) = 1024BB = 2^100 B;

1DB(DoggaByte,十亿亿亿亿字节) = 1024 NB = 2^110 B;

 

字符与字节

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~2147483647(-2^31~2^31-1)      
long(长整型) 8 64位 -9223372036854774808~9223372036854774807(-2^63~2^63-1)      
浮点类型 float(单精度型) 4        
double(双精度类型) 8          
字符类型 char 1        
布尔类型 boolean 1        
  引用类型          
原文地址:https://www.cnblogs.com/A-Nan-q/p/14487271.html