[转]bit与byte

本文为转载,感谢博主的分享。原文地址:http://www.cnblogs.com/flyme/archive/2011/08/25/2153596.html

bit意为“位”或“比特”,是计算机运算的基础;
byte意为“字节”,是计算机文件大小的基本计算单位;

说到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倍。

【PS】:java里int=4byte=32bits

本文为转载,感谢博主的分享。原文地址:http://www.cnblogs.com/flyme/archive/2011/08/25/2153596.html

时间: 2024-11-06 07:35:41

[转]bit与byte的相关文章

C#中图片.BYTE[]和base64string的转换

在C#中 图片到byte[]再到base64string的转换: Bitmap bmp = new Bitmap(filepath); MemoryStream ms = new MemoryStream(); bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); byte[] arr = new byte[ms.Length]; ms.Position = 0; ms.Read(arr, 0, (int)ms.Length); ms.Clo

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0

Windows 7/8/10机器上安装Python 2.7后,下载一些Package包进行setup时总是报错UnicodeDecodeError,如下: File "C:/Python27/lib/mimetypes.py", line 250, in enum_types ctype = ctype.encode(default_encoding) # omit in 3.x! UnicodeDecodeError: 'ascii' codec can't decode byte

golang []byte转string

golang中,字符切片[]byte转换成string最简单的方式是 package main import ( "fmt" _ "unsafe" ) func main() { bytes := []byte("I am byte array !") str := string(bytes) bytes[0] = 'i'//注意这一行,bytes在这里修改了数据,但是str打印出来的依然没变化, fmt.Println(str) } 打印信息:

解决Python读取文件时出现UnicodeDecodeError: 'gbk' codec can't decode byte...

用Python在读取某个html文件时会遇到下面问题: 出问题的代码: 1 if __name__ == '__main__': 2 fileHandler = open('../report.html', mode='r') 3 4 report_lines = fileHandler.readlines() 5 for line in report_lines: 6 print(line.rstrip()) 修改方式是在open方法指定参数encoding='UTF-8': if __nam

java byte to hex

java  byte to hex 16 package com.longtop.client.codec.encryp; public class HexTransfer { /** * 将byte数组转换为表示16进制值的字符串, 如:byte[]{8,18}转换为:0813, 和public static byte[] * hexStr2ByteArr(String strIn) 互为可逆的转换过程 * * @param arrB * 需要转换的byte数组 * @return 转换后的字

a byte of vim -- 学习摘要

说在前面的话 -- a byte of vim 是我见过的最介绍vim 最好的书,想了解强大的vim的人,或者是已经在使用vim而打算进一步了解的人,我感觉都应该看看这个,内容精炼但涵盖很广,--"vim为什么这么强大",当看完这本书时,我想你就能完全的了解了--此外,本书是一英文版,但很简单,学语言的同时学习英语很不多-- 附上最新版的下载链接 http://download.csdn.net/detail/wuzhimang/8933257  ,当然上官网才是硬道理 以下是自己针对

整型变量(int)与字节数组(byte[])的相互转换

// int2byte.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <Windows.h> /* #define MAKEWORD(a, b) ((WORD)(((BYTE)(((DWORD_PTR)(a)) & 0xff)) | ((WORD)((BYTE)(((DWORD_PTR)(b)) & 0xff))) << 8)) #define MAKELONG(a, b) ((LONG

write(byte[] b, int off, int len)

write(byte[] b, int off, int len)就是将数组 b 中的 len 个字节按顺序写入输出流. 所以如果 b 为 null,则抛出 NullPointerException. 如果 off 为负,或 len 为负,又或者 off+len 大于数组 b 的长度,则抛出 IndexOutOfBoundsException. 如果 len 为零,则不写入字节. 否则,首先写入字节 b[off],然后写入字节 b[off+1],依此类推:最后一个写入字节是 b[off+len-

Java类型相互转换byte[]类型,blob类型

在我们的程序开发当中,经常会用到java.sql.Blob.byte[].InputStream之间的相互转换,但在JDK的API当中,又没有直接给我们提供可用的API,下面的程序片段主要就是实现它们之间互换的util. 一.byte[]=>Blob 我们可以通过Hibernate提供的表态方法来实现如: org.hibernate.Hibernate.Hibernate.createBlob(new byte[1024]); 二.Blob=>byte[] 目前没有找到好一点的API提供,所以

InputStream只能读取一次的解决办法 C# byte[] 和Stream转换

x 情景--->>> 导入文件的时候,前台传过来一个文件, 后台接到: HttpPostedFileBase file = Request.Files[0];由于对这个文件后台处理比较多,读取里面的内容,还要将其转换为Stream写入一个新的文件...以前的做法是↓↓ 新建一个MemoryStream实例进行操作>>> Stream stream = new MemoryStream(); file.InputStream.Seek(0, SeekOrigin.Begi