zoukankan      html  css  js  c++  java
  • 字节、位、字

    字节(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        
      引用类型          
  • 相关阅读:
    Benelux Algorithm Programming Contest 2016 Preliminary K. Translators’ Dinner(思路)
    Benelux Algorithm Programming Contest 2016 Preliminary Target Practice
    Benelux Algorithm Programming Contest 2016 Preliminary I. Rock Band
    Benelux Algorithm Programming Contest 2016 Preliminary A. Block Game
    ICPC Northeastern European Regional Contest 2019 Apprentice Learning Trajectory
    ICPC Northeastern European Regional Contest 2019 Key Storage
    2018 ACM ICPC Asia Regional
    2018 ACM ICPC Asia Regional
    Mybatis入库出现异常后,如何捕捉异常
    优雅停止 SpringBoot 服务,拒绝 kill -9 暴力停止
  • 原文地址:https://www.cnblogs.com/A-Nan-q/p/14487271.html
Copyright © 2011-2022 走看看