热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2个字节能存多少个16进制_超实用!软件测试必备知识,来自一线测试工程师的干货分享|二进制|十进制|补码|字节|整数...

Hello,大家好,我是小唐。很高兴再次和大家见面。今天带来的内容是来自一线测试工程关于软件测试基础能力必备的知识“补码计数法、余码计数法和浮点数计数法”。这一部分知识是对计算

  Hello,大家好,我是小唐。很高兴再次和大家见面。今天带来的内容是来自一线测试工程关于软件测试基础能力必备的知识“补码计数法、余码计数法和浮点数计数法”。这一部分知识是对计算机数据存储、和二进制的进一步理解。且听小唐满满给你道来,希望阅读完本篇文章能够对你理解计算机存储知识和二进制有着一丝帮助。

  大家也许知道,对于计算机的产生背景来自于数字电路理论的发展。在数字电路中,通常使用一系列高低电平来表示一些数据。对于计算机的由来,最初也是为了方便人们对数据进行计算。既然,计算机要对数据进行计算,那么它就得具备数据存储的功能。在计算机发展的历史中,人们寻找了很多种针对计算机数据存储的实现方案。最成功的方案便是和数字电路存储数据一样,采用高低电平来进行存储,毕竟计算机电路也是基于数字电路发展起来的。

  计算机数据存储的基本思想是“使用计算机电路电平来进行存储”。因为电平的物理态只有两种“要么是高电平、要么是低电平”。高低电平状态的切换可以用两个值来表示,于是基于数字电路的理论,人们把计算机电路高低电平用两个符号来表示即“0表示低电平,1表示高电平”。二进制由此诞生。

  一个计算机中有着上亿万的电路。一个电路能够存储一个电平符号也就是一个二进制值。因此一个计算机可以存储大量的二进制值,而这个二进制值就是计算机数据存储的源头。

  在计算机中,可以用不同个数的二进制位来存储不同大小的数据。当然,使用的二进制位越多计算机所能存储的数据也就越大。通常我们说的8位存储、32位存储、64位存储、128位存储或256位存储,它们分别存储的数据大小都是不一样的。

  在计算机中,数据存储在一个叫做主存储器的计算机部件内。计算机进行运算的过程就是在主存储器中读取数据和存入数据的过程。

  主存储器中,有很多的数据块,这样的数据块我们叫做存储单元,主存储器是由很多个存储单元构成的。这些存储单元都有一个从0开始数字逐渐变大的编号叫做地址。这些存储单元根据地址从小到大排成一列就构成了主存储器的结构。

  在主存储器中,1个存储单元里面有8个电路,因此1个存储单元里面有8个二进制位。这8个二进制位可以表示00000000-11111111的数据。我们把二进制位的全0模式到全1模式的所有表示叫做位模式。

  在计算机科学中,我们把1个二进制位叫做1个比特,英文名叫bit。8个二进制位当然叫做8个比特,英文名叫8bit。

  存储器的大小叫做存储器的容量,不同的存储器的容量大小也是不一样的。在计算机科学中,我们用字节来表示存储器的容量。随着存储器容量不断地变大因此有了千字节、兆字节、吉字节、太字节等存储器容量单位。

  在计算机科学中规定一个存储单元是一个字节,一个字节里面有8个二进制位,因此一个字节等于8bit,又规定使用英文B来表示字节,KB来表示千字节,MB来表示兆字节,GB来表示吉字节,TB来表示太字节,还规定了1B=8bit,1KB=1024B,1MB=1024KB,1GB=1024MB,1TB=1024GB

  有了关于存储器知识的铺垫,接下来,我们开始正式地学习吧。

  第一部分:二进制

  一、什么是二进制?

  二进制又叫做二进制计数法,在数学和数字电路中指以2位基数的计数系统。在这个计数系统中,通常用两个符号0和1来计数。满2就进1.

  用了二进制计数法,那么在实际生活中,怎么使用二进制计数法来计数呢?别着急,我们继续往下学。

  二、怎么使用二进制计数?

  17世纪至18世纪德国数学家莱布尼茨,是世界上第一个提出二进制计数法的人。用二进制计数法,只用0和1两个符号来表示二进制计数法,不需要其他符号来表示。因为0和1是两个符号不是具体的数,因此0和1两个符号不能表示具体的数,但是随着计算机科学的发展人们迫切希望用二进制来表示具体的数,因此数学就开始研究怎么用二进制来表示数了。注意,这里有一句话小唐需要解释一下,那就是“用二进制表示数”,其实讲的就是使用二进制来表示十进制的数字。

  三、二进制怎么表示十进制的数字呢?

  在数学中,随着对二进制计数法的研究不断深入。慢慢地诞生出了一套用二进制计数法表示十进制数字的理论体系。

  在这套理论体系中规定“二进制也采用位置计数法,其位权是以2为底的幂,要使用二进制表示法来表示十进制数字,需要通过二进制每一个位的位符号乘以该位的位权来表示,最后把不同的位符号乘以位权的值相加即可”。

  对于不同二进制位的位权是多少?理论体系是这样说的“二进制计数法分为整数二进制和小数二进制。在整数二进制位中,从右到左其第一个二进制位的位权是2的0次幂,依次类推;在小数二进制位中,其小数部分从左到右第一个二进制位的位权是2的-1次幂,依次类推”。因此,如果我们需要把二进制表示成十进制的数字,我们需要如下图的求解。

  《2个字节能存多少个16进制_超实用!软件测试必备知识,来自一线测试工程师的干货分享|二进制|十进制|补码|字节|整数...》

  二进制转化为十进制

  在此,我们已经学会了使用二进制来表示十进制数据。那么,我们怎么把十进制数据用二进制来表示呢?精彩继续。

  四、怎么把十进制数据转换成二进制表示?

  同样的道理,在数学中规定“十进制转换二进制,需要把整数部分和小数部分分别转换,再进行组合”。整数部分和小数部分分别具体是怎么转换的呢?我们继续。

  五、十进制整数部分怎么转换成二进制?

  在数学中规定,把十进制整数部分转换成二进制的思想是“除2取余,逆序排列”。其具体做法是“用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数。如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制的低位符号,后得到的余数作为二进制的高位符号,依次排列起来。”如:求解125的二进制表示,如下图:

  《2个字节能存多少个16进制_超实用!软件测试必备知识,来自一线测试工程师的干货分享|二进制|十进制|补码|字节|整数...》

  十进制整数部分转换为二进制

  根据图中步骤得到十进制125的二进制表示为1111101。为了用1个字节来表示十进制数据,因为是正数所以我们在最高为用0补齐表示为01111101。反之,如果是负数在最高位我们需要用1补齐。接下来,我们来看看十进制小数部分的二进制表示。

  六、十进制小数部分怎么转换成二进制?

  在数学中规定,把十进制小数部分转换成二进制的思想是“乘2取整”。其具体做法是“用十进制的小数乘以2并取走结果的整数(必是0或1),然后再用剩下的小数重复刚才的步骤,直到剩余的小数为0时停止,最后将每次得到的整数按先后顺序从左到右排列即得到所对应二进制小数。”如:求解十进制的二进制小数表示,如下图:

  《2个字节能存多少个16进制_超实用!软件测试必备知识,来自一线测试工程师的干货分享|二进制|十进制|补码|字节|整数...》

  十进制小数部分转化为二进制

  如果你是计算机专业人员,你可能会知道,在计算机存储中,整数的存储是通过补码计数法来进行存储的。如果你是非计算机专业人员,看了小唐的描述后你应该也知道了计算机是通过补码计数法来存储整数的。接下来,我们将学习整数在计算机中的存储方式–补码计数法了。

  第二部分:补码计数法

  学习补码计数法其实很简单,只需要一张图就足够了,这张图足够帮助你理解补码计数法。不信?我们上图!

  《2个字节能存多少个16进制_超实用!软件测试必备知识,来自一线测试工程师的干货分享|二进制|十进制|补码|字节|整数...》

  图形化理解补码计数法

  一、小唐带你学习补码计数法

  学习补码计数法其实只需要掌握补码计数法的特点就可以了。通过观察上图,聪明的人也许看出来补码计数法的特点了。小唐就不给大家卖关子了,上干货!

  其实,在计算机科学中补码计数法有着以下几个特点:

  (1)补码计数法中全0位模式表示十进制数字0,全1位模式表示十进制数字-1;

  (2)在补码计数法中全0模式依次加1,可以表示十进制数字1,2,3等;

  (3)在补码计数法中全1模式依次减1,可以表示十进制数字-2,-3,-4等;

  (4)在补码计数法中最左边的二进制位叫做最高位,最高位是0表示正数,最高位是1表示负数。

  看见了吧,掌握了补码计数法的特点,你就学会了补码计数法。这个时候,有一些读者又会为难小唐了。你这介绍的补码计数法特点对于二进制位数少得还比较实用,那二进制位特别多的时候岂不是计算很费时间,有没有一种办法来表示绝对值相同的正负数补码的快速方法。

  当然有了,小唐这就给你安排上!

  二、小唐给你传授一个技巧

  其实,在计算机科学中,有一种快速表述绝对值相同的正负数补码的方法。就是“先用补码表示出绝对值相同但是正数的数字,之后根据一定的规律在正数的基础上表示出绝对值相同的负数的补码”。这个规律其实也很简单,就是“表示绝对值相同的负数的时候,从右到左依次复制正数的补码的二进制位,直到该二进制位出现1的时候,剩下的其余二进制位取反”就行啦!什么是取反呢?在这一阶段你只需要简单地理解为“二进制位是1取反后是0,二进制位是0取反后是1”就行了。我们上实例:用补码计数法表示6和-6.我们可以按照下图的步骤来求解。

  《2个字节能存多少个16进制_超实用!软件测试必备知识,来自一线测试工程师的干货分享|二进制|十进制|补码|字节|整数...》

  求解绝对值相同地正负数二进制补码

  愉快的时光总是短暂的,很快又到了小唐和大家说再见的时候了。在下一篇文章中我们来自一线的软件测试工程师干货分享继续。不见不散。

Ps.如果你觉得小唐给你带来的计算机知识分享很实用,欢迎你推荐给身边的朋友。在这里,小唐不胜感激。你们的鼓励和分享是小唐创作的动力。最后,还是真心地希望你给小唐的这篇文章点个赞和收藏吧,也欢迎在评论区留言。

写到最后:欢迎关注账号“小唐IT实用技术讲解”,给你带来最实用的软件测试、研发、运维以及网络安全知识分享。


推荐阅读
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 近年来,大数据成为互联网世界的新宠儿,被列入阿里巴巴、谷歌等公司的战略规划中,也在政府报告中频繁提及。据《大数据人才报告》显示,目前全国大数据人才仅46万,未来3-5年将出现高达150万的人才缺口。根据领英报告,数据剖析人才供应指数最低,且跳槽速度最快。中国商业结合会数据剖析专业委员会统计显示,未来中国基础性数据剖析人才缺口将高达1400万。目前BAT企业中,60%以上的招聘职位都是针对大数据人才的。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文详细介绍了相机防抖的设置方法和使用技巧,包括索尼防抖设置、VR和Stabilizer档位的选择、机身菜单设置等。同时解释了相机防抖的原理,包括电子防抖和光学防抖的区别,以及它们对画质细节的影响。此外,还提到了一些运动相机的防抖方法,如大疆的Osmo Action的Rock Steady技术。通过本文,你将更好地理解相机防抖的重要性和使用技巧,提高拍摄体验。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 无损压缩算法专题——LZSS算法实现
    本文介绍了基于无损压缩算法专题的LZSS算法实现。通过Python和C两种语言的代码实现了对任意文件的压缩和解压功能。详细介绍了LZSS算法的原理和实现过程,以及代码中的注释。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • GAMETECH腾讯云游戏行业技术沙龙成都站圆满落幕
    11月13日,由腾讯云主办、游戏茶馆协办的2020年首场GAME-TECH腾讯云游戏行业技术沙龙在成都圆满落幕。本次沙龙邀请了腾讯云游戏行业解决方案总监宋永周、腾讯云游戏行业高级解决方案架构师曾梓恩、腾讯云游戏行业高级产品架构师郑晓曦、腾讯云游戏行业高级解决方案架构师温球良和天美L1(王者荣耀)服务器技术副总监杨光,为参会同行们带来了干货满满的技术建议。本文介绍了腾讯云游戏云的优势和为不同游戏研运场景提供的服务。腾讯云在中国游戏云服务市场领跑,成为众多游戏开发者的合作伙伴。 ... [详细]
  • 配置IPv4静态路由实现企业网内不同网段用户互访
    本文介绍了通过配置IPv4静态路由实现企业网内不同网段用户互访的方法。首先需要配置接口的链路层协议参数和IP地址,使相邻节点网络层可达。然后按照静态路由组网图的操作步骤,配置静态路由。这样任意两台主机之间都能够互通。 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • Android工程师面试准备及设计模式使用场景
    本文介绍了Android工程师面试准备的经验,包括面试流程和重点准备内容。同时,还介绍了建造者模式的使用场景,以及在Android开发中的具体应用。 ... [详细]
  • 本文由编程笔记#小编整理,主要介绍了关于数论相关的知识,包括数论的算法和百度百科的链接。文章还介绍了欧几里得算法、辗转相除法、gcd、lcm和扩展欧几里得算法的使用方法。此外,文章还提到了数论在求解不定方程、模线性方程和乘法逆元方面的应用。摘要长度:184字。 ... [详细]
  • 从Oracle安全移植到国产达梦数据库的DBA实践与攻略
    随着我国对信息安全和自主可控技术的重视,国产数据库在党政机关、军队和大型央企等行业中得到了快速应用。本文介绍了如何降低从Oracle到国产达梦数据库的技术门槛,保障用户现有业务系统投资。具体包括分析待移植系统、确定移植对象、数据迁移、PL/SQL移植、校验移植结果以及应用系统的测试和优化等步骤。同时提供了移植攻略,包括待移植系统分析和准备移植环境的方法。通过本文的实践与攻略,DBA可以更好地完成Oracle安全移植到国产达梦数据库的工作。 ... [详细]
author-avatar
回忆的沙漏2502890423
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有