计算机中,为什么一个字节是8位?

原创 2018年04月16日 13:42:45

说这个问题的时候,首先提一下ASCII编码作为切入比较容易理解一点;

ASCII编码:全称American Standard Code for information Interchange,翻译过来就是美国信息交换标准码。

ASCII编码作用:就是编码,那什么又是编码?我个人理解编码就跟江湖中的好汉劫富济贫时所用的暗语一样,栗子:风来了(只有好汉知道这个词的意思),就表示官兵来了。江湖上用“风来了”用来编码“官兵来了”,这就是江湖上使用的一套编码体系。而ASCII码就是计算机中的一套编码体系,用一串二进制数字(计算机认识)表示我们现实生活中的一些字符啊数字之类的东西。说的不好听点跟见人说人话,见鬼说鬼话有异曲同工之妙!

Bin(二进制)

Oct(八进制)

Dec(十进制)

Hex(十六进制)

缩写/字符

解释

0000 0000

0

0

00

NUL(null)

空字符

0000 0001

1

1

01

SOH(start of headline)

标题开始

0000 0010

2

2

02

STX (start of text)

正文开始

0000 0011

3

3

03

ETX (end of text)

正文结束

0000 0100

4

4

04

EOT (end of transmission)

传输结束

0000 0101

5

5

05

ENQ (enquiry)

请求

0000 0110

6

6

06

ACK (acknowledge)

收到通知

0000 0111

7

7

07

BEL (bell)

响铃

0000 1000

10

8

08

BS (backspace)

退格

0000 1001

11

9

09

HT (horizontal tab)

水平制表符

0000 1010

12

10

0A

LF (NL line feed, new line)

换行键

0000 1011

13

11

0B

VT (vertical tab)

垂直制表符

0000 1100

14

12

0C

FF (NP form feed, new page)

换页键

0000 1101

15

13

0D

CR (carriage return)

回车键

0000 1110

16

14

0E

SO (shift out)

不用切换

0000 1111

17

15

0F

SI (shift in)

启用切换

0001 0000

20

16

10

DLE (data link escape)

数据链路转义

0001 0001

21

17

11

DC1 (device control 1)

设备控制1

0001 0010

22

18

12

DC2 (device control 2)

设备控制2

0001 0011

23

19

13

DC3 (device control 3)

设备控制3

0001 0100

24

20

14

DC4 (device control 4)

设备控制4

0001 0101

25

21

15

NAK (negative acknowledge)

拒绝接收

0001 0110

26

22

16

SYN (synchronous idle)

同步空闲

0001 0111

27

23

17

ETB (end of trans. block)

结束传输块

0001 1000

30

24

18

CAN (cancel)

取消

0001 1001

31

25

19

EM (end of medium)

媒介结束

0001 1010

32

26

1A

SUB (substitute)

代替

0001 1011

33

27

1B

ESC (escape)

换码(溢出)

0001 1100

34

28

1C

FS (file separator)

文件分隔符

0001 1101

35

29

1D

GS (group separator)

分组符

0001 1110

36

30

1E

RS (record separator)

记录分隔符

0001 1111

37

31

1F

US (unit separator)

单元分隔符

0010 0000

40

32

20

(space)

空格

0010 0001

41

33

21

!

叹号

0010 0010

42

34

22

"

双引号

0010 0011

43

35

23

#

井号

0010 0100

44

36

24

$

美元符

0010 0101

45

37

25

%

百分号

0010 0110

46

38

26

&

和号

0010 0111

47

39

27

'

闭单引号

0010 1000

50

40

28

(

开括号

0010 1001

51

41

29

)

闭括号

0010 1010

52

42

2A

*

星号

0010 1011

53

43

2B

+

加号

0010 1100

54

44

2C

,

逗号

0010 1101

55

45

2D

-

减号/破折号

0010 1110

56

46

2E

.

句号

00101111

57

47

2F

/

斜杠

00110000

60

48

30

0

数字0

00110001

61

49

31

1

数字1

00110010

62

50

32

2

数字2

00110011

63

51

33

3

数字3

00110100

64

52

34

4

数字4

00110101

65

53

35

5

数字5

00110110

66

54

36

6

数字6

00110111

67

55

37

7

数字7

00111000

70

56

38

8

数字8

00111001

71

57

39

9

数字9

00111010

72

58

3A

:

冒号

00111011

73

59

3B

;

分号

00111100

74

60

3C

<

小于

00111101

75

61

3D

=

等号

00111110

76

62

3E

>

大于

00111111

77

63

3F

?

问号

01000000

100

64

40

@

电子邮件符号

01000001

101

65

41

A

大写字母A

01000010

102

66

42

B

大写字母B

01000011

103

67

43

C

大写字母C

01000100

104

68

44

D

大写字母D

01000101

105

69

45

E

大写字母E

01000110

106

70

46

F

大写字母F

01000111

107

71

47

G

大写字母G

01001000

110

72

48

H

大写字母H

01001001

111

73

49

I

大写字母I

01001010

112

74

4A

J

大写字母J

01001011

113

75

4B

K

大写字母K

01001100

114

76

4C

L

大写字母L

01001101

115

77

4D

M

大写字母M

01001110

116

78

4E

N

大写字母N

01001111

117

79

4F

O

大写字母O

01010000

120

80

50

P

大写字母P

01010001

121

81

51

Q

大写字母Q

01010010

122

82

52

R

大写字母R

01010011

123

83

53

S

大写字母S

01010100

124

84

54

T

大写字母T

01010101

125

85

55

U

大写字母U

01010110

126

86

56

V

大写字母V

01010111

127

87

57

W

大写字母W

01011000

130

88

58

X

大写字母X

01011001

131

89

59

Y

大写字母Y

01011010

132

90

5A

Z

大写字母Z

01011011

133

91

5B

[

开方括号

01011100

134

92

5C

反斜杠

01011101

135

93

5D

]

闭方括号

01011110

136

94

5E

^

脱字符

01011111

137

95

5F

_

下划线

01100000

140

96

60

`

开单引号

01100001

141

97

61

a

小写字母a

01100010

142

98

62

b

小写字母b

01100011

143

99

63

c

小写字母c

01100100

144

100

64

d

小写字母d

01100101

145

101

65

e

小写字母e

01100110

146

102

66

f

小写字母f

01100111

147

103

67

g

小写字母g

01101000

150

104

68

h

小写字母h

01101001

151

105

69

i

小写字母i

01101010

152

106

6A

j

小写字母j

01101011

153

107

6B

k

小写字母k

01101100

154

108

6C

l

小写字母l

01101101

155

109

6D

m

小写字母m

01101110

156

110

6E

n

小写字母n

01101111

157

111

6F

o

小写字母o

01110000

160

112

70

p

小写字母p

01110001

161

113

71

q

小写字母q

01110010

162

114

72

r

小写字母r

01110011

163

115

73

s

小写字母s

01110100

164

116

74

t

小写字母t

01110101

165

117

75

u

小写字母u

01110110

166

118

76

v

小写字母v

01110111

167

119

77

w

小写字母w

01111000

170

120

78

x

小写字母x

01111001

171

121

79

y

小写字母y

01111010

172

122

7A

z

小写字母z

01111011

173

123

7B

{

开花括号

01111100

174

124

7C

|

垂线

01111101

175

125

7D

}

闭花括号

01111110

176

126

7E

~

波浪号

01111111

177

127

7F

DEL (delete)

删除


很可能大家都注意到了,第一列的二进制使用了8个二进制位(8个0、1)。对应的十进制到了最大的127,那为什么是8位呢?因为这套编码系统是美国统一的标准,对美国人来说;所有字符包括单词,标点符号都全部都囊括进了这128(0~127)个字符,美国人用完全就够了。是不是比我们8万+的汉字总量相比逊色多了。简单YY下。

这就是最初为什么一个字节(1B)用8个二进制位(8b)来表示的由来了,至于什么system/360那些东西在这里不再赘述,实为一个历史。

随着计算机的发展和各国对计算机的使用,这128个字符显然不能满足全世界任命的需求了,也就相继出现了UTF-8、GBK等的编码体系了。这也说明了在很多编码体系中一个英文字符为什么占用了一个字节(1B)存储大小的原因了!

计算机中的换算关系:

1B(Byte) = 8b(bit)

1KB = 1024B

1MB = 1024KB

网络网速上的10M又是通信系统中的概念了;

表示的是10Mbps,意味带宽,跟道路的宽度是一个道理,所有的下载软件手机网速的提示一般都用KB来表示,那么10M的网速实际下载速度就为:

10Mbps / 8(b/位) = 1.25MBps (1.25M/s)


版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33666602/article/details/79959523

Composer 是 PHP 的一个依赖管理工具

Composer是PHP中用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer会帮你安装这些依赖的库文件。
  • 2017年01月05日 10:45

为什么一字节是8位?

回溯70年计算机发展史,多到64和少到1位的计算机都曾设计过,比如常见的1, 5, 6, 7, 8, 9, 12, 18, 20 和36 bits;简单了解下历史!...
  • my_live_123
  • my_live_123
  • 2015-05-18 11:09:54
  • 2886

为什么1个字节(Byte)等8位(Bit)?

有没有想过为什么1个字节等于8个比特位?想过,OK,好孩子,来摸摸头,没想过的同学请自觉面壁哈。啥?这不是理所当然的么,就和吃饭喝水一样自然,还要想吗?另外,知道这个有什么用呢? 那些看起来...
  • bookaswine
  • bookaswine
  • 2015-11-14 10:45:04
  • 13566

为什么一个字节等于8个比特

数据上1B=8b,我知道具体,但为什么要这样设计?全球通用吗(即全球各地都是这样吗)?   热心网友 昨天看书,不经意间也有了同样的疑问,为什么规定 1 Byte = 8 bits,不是其他数量...
  • qq_26222859
  • qq_26222859
  • 2016-01-21 21:04:15
  • 4032

计算机中的字,字长,位,字节的概念

一、在性能测试当中,任何脱离底层的内容,对于性能测试来讲,都是不完整的,任何程序,何何中间件如果没有操作系统及计算机支撑,都是毫无意义的,因为在计算机世界里,有一些概念需要我们能够掌握和了解,比如说:...
  • he_jian1
  • he_jian1
  • 2015-01-22 11:04:20
  • 20778

为什么计算机最小的存储单位是字节?而最小到的传输单位是bit?

数据存储是以“字节”(Byte)为单位,数据传输是以大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是...
  • ebw123
  • ebw123
  • 2016-05-15 23:09:44
  • 8077

计算机浮点数的格式,单精度与双精度的区别

在C/C++中float是32位的,double是64位的,两者在内存中的存储方式和能够表示的精度均不同,目前C/C++编译器标准都遵照IEEE制定的浮点数表示法来进行float,double运算。 ...
  • u014694994
  • u014694994
  • 2018-01-14 21:41:08
  • 106

一个字节为什么存的是-128—127

今天想到一个字节存:-128——127,忽然困扰了我一下,复习计算机基础知识,做此记录。 我们都知道一个字节可以存8位,而有符号时,第一位是符号位,1代表负数,0代表整数。而负数是以反码的形式存在,计...
  • loowooowool
  • loowooowool
  • 2017-01-16 01:04:25
  • 522

为什么1个字节的取值范围是-128~127

在编程过程中,经常要考虑取值范围。 在C++中,int8_t 占1个字节,取值范围是-128~127. 那么,为什么是-128~127呢? 由于有符号位的存在,所以负数的值,最低可以到-128...
  • shine_journey
  • shine_journey
  • 2016-02-18 02:05:27
  • 5006

一个二进制数字序列,在计算机中作为一个数字单元

int i     i就是一个数字单元 字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位,一个字节等于8位二进制数。  在ASCII码中,一个英文字母(不分大小...
  • waj89757
  • waj89757
  • 2013-06-02 19:42:23
  • 995
收藏助手
不良信息举报
您举报文章:计算机中,为什么一个字节是8位?
举报原因:
原因补充:

(最多只允许输入30个字)