为什么一个字节是八个bit
字节
字节是是计算机信息计量单位,一个字节包含八个bit。
但是为什么1个字节是8个bit呢,这还得从ascii码说起。
ascii码
ascii码是计算机一开始使用的编码协议,主要用于记录 需要显示的字符和 “0与1” 之间的对应。比如按下键盘的 a 键,就相当于输入了一串0和1的组合,计算机通过查询ascii表知道要显示 a 。
ascii码(举例)
0和1的组合 | 表示字符 |
---|---|
01100001 | a |
01100010 | b |
01100011 | c |
01100100 | d |
01100101 | e |
这时我们注意到,每个字母都对应8个 0和1的组合
一开始的时候,需要显示的字符只有26个英文字母、10个数字、计算符号以及各种特殊符号,这样大概100个字符需要显示。那我们需要多少位才能足够对应全部的符号呢?
这样就变成了一道数学题。每1位有两种可能,多少位的可能数会大于100?
使用1位
此时,我们拥有1位,要么是0,要么是1,那就只有两种可能
bit值 | 表示字符 |
---|---|
0 | a |
1 | b |
2 1 2^1 21个显然不行是不够的
每次使用2个bit
bit值 | 表示字符 |
---|---|
00 | a |
01 | b |
10 | c |
11 | d |
能表示的字符达到了 2 2 2^2 22个,但还是远远不够
继续增加位数
2 3 = 8 2^3 = 8 23=8
2 4 = 16 2^4 = 16 24=16
2 5 = 32 2^5 = 32 25=32
2 6 = 64 2^6 = 64 26=64
2 7 = 128 2^7 = 128 27=128
2 8 = 256 2^8 = 256 28=256
在当时的环境下,128个应该是够用的,再加上其他不需要显示同样需要对应的东西,使用256个更加保险,也就是8位。
8位在计算机中称为8个bit
bit
bit是计算机存储数据的最小单位,只有0和1两种值。而8个bit组成了信息的最小单位,也就是字节。
这也就是 1个字节是8个bit 的由来
为什么一个字节是八个bit相关推荐
- 为什么一个字节是八个bit ?
字节 字节是是计算机信息计量单位,一个字节包含八个bit. 但是为什么1个字节是8个bit呢,这还得从ascii码说起. ascii码 ascii码是计算机一开始使用的编码协议,主要用于记录 需要显示 ...
- 计算机系统中八个二进制位叫做一个,一个字节由几个二进制位组成(计算机系统有什么两部分组成)...
一个字节由8个二进制位组成的.字节(Byte /bait/ n. [C])是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符.. 在计算机中,一个" ...
- 计算机语言有几进制,一个字节由几个二进制位组成(计算机系统有什么两部分组成)...
一个字节由8个二进制位组成的.字节(Byte /bait/ n. [C])是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符.. 在计算机中,一个" ...
- 有符号一个字节取值范围
有符号一个字节最大和最小值 1Byte=8bit 一个字节八个位,有符号值,符号位占用1位[二进制表示=X,XXX XXXX] 计算机用1表示负数,0表示正数,用补码表示负数 正数 补码=原码 负数 ...
- 《Delphi 算法与数据结构》学习与感悟[3]: 获取一个字节中非空位的个数
为什么80%的码农都做不了架构师?>>> 一个字节有 8 个位, 这些位可能是 0 也可能是 1; 现在要算出一个字节中是 1 的位共有多少个. 第一种方法是一个函数; 第二种 ...
- stm32 usart 单线半双工串口 DMA发送 最后一个字节发不出来问题
最近遇到一个小问题,感觉很有意思便记下来分享一下 ,顺便也为日后类似的问题提供点思路: 使用stm32串口发送数据 ,串口是单线半双工模式,要求数据发送前串口变成发送模式,发送完后立即变回接收模式,发 ...
- 一招修复内存不能read_read文件一个字节实际会发生多大的磁盘IO?
先讲一个作者大约5-6年前我在某当时很火的一个应用分发创业公司的面试小插曲,该公司安排了一个刚工作1年多的一个同学来面我,聊到我们项目中的配置文件里写的一个开关,这位同学就跳出来说,你这个读文件啦,每 ...
- python struct.pack()函数 (返回一个字节对象,其中包含根据格式字符串fmt打包的值v1,v2,...)
def pack(fmt, *args): # known case of _struct.pack"""pack(fmt, v1, v2, ...) -> byt ...
- 请编写一个 C 函数,该函数给出一个字节中8二进制数中为1的个数
一.学习要点: 1.&1的深刻理解,只有1&1才为真,1的八进制表示00000001,可以很好的统计每个字节最右边的位是否为1. 2.二进制中,位运算符>>i,右移i位的意 ...
最新文章
- 重庆交通大学2019年计算机系收分,重庆交通大学2019年考研复试分数线已公布
- 红帽linux配置网桥#039;,redhat配置网桥
- 删除sybase里面的锁_一起来学习分布式锁
- 国外服务器装win系统,今日再现:Hostwinds国外windows系统服务器部分被墙
- 22种代码味道(Martin Fowler与Kent Beck)
- PlentyOfFish.com .NET网站的又一传奇
- Android组件化开发实践(九):自定义Gradle插件
- 开发人员的新分布式基元
- 为什么 窗口回调函数要使用静态成员函数
- 团队阅读之——Google’s Hybrid Approach to Research
- Zend Framework 简介
- 制作字幕.html教程,怎样制作视频字幕
- matlab来解决城市设计,Matlab的实际应用设计(经典).doc
- 开发必备技术--docker(使用篇)
- 2019加密市场金融借贷领域研究报告(英文版) | TokenInsight
- 2019春招宇视科技嵌入式面试
- Win32 API 函数列表
- xmanager显示linux7桌面,Xmanager 5远程连接CentOS7图形化界面
- 谷粒商城项目笔记总结(1/2)
- shell脚本1例 自动安装httpd