本文介绍二进制数据的相关知识,如定义、取值范围计算、转换为十进制的方法以及一些常见位数的二进制数据的取值范围等。
当前计算机系统大多数都是采用二进制的数据存储方式,单片机系统也是同样,所以了解二进制数据是非常必要的。
1、什么是二进制数?
二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。
二进制数有几个特点:
->由若干位组成,每一位的取值只能为0或1;
->高一位的基数是低一位的2倍。从最低位(最右边的位)到高位(向左)的基数分别为1、2、4、8、16……
2、二进制数转换为十进制的方法
如图 1,二进制数转为十进制的计算方法为:Σ(每位取值*每位基数),即计算每一位的二进制数的取值乘以当前位的基数之和。
3、二进制数取值范围
一个二进制数当它的所有位都为1时为其最大值。
一个N位二进制数取值范围计算的公式为[0,2^N-1],如一个只有1位的二进制数的范围是0到1,一个2位二进制数的取值范围为0到3,一个N位二进制数的范围为0到2^N-1。
4、常见数据类型的取值范围
在单片机开发里,位、字节、字、双字这些数据类型比较常见,对于无符号数来说,这些常见数据类型的取值范围如图 3,即一位二进制数的取值范围为0到1,一个字节的数的取值范围为0到255,一个字的取值范围为0到65535,一个双字的取值范围为0到4294967295。
对于有符号数,因为有负值,所以取值范围正值部分相对于无符号数来说大约减半,负值部分约为负的其正值部分。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
相关推荐
如何实现二进制和BCD码数据的相互转变? 二进制码是将十进制数字表示为二进制数和十进制数的一种表
发表于 02-18 14:51
•445次阅读
二进制中的两个数字0和1称为位(bit, 是二进制数字binary digit的缩写)。在数字电路中,使用两个不同的电平表示这两个位。一般情况下,1 用高电平表示,0用低电平表示,这种逻辑体制称为正逻辑。
发表于 02-04 16:54
•528次阅读
背景 c++层数据都是二进制,需要转换成arrayBuffer透传到ets层给业务使用,但是鸿蒙的使用下面两个api创建出来的二进制数组数据都是错误的。 接口
发表于 01-31 15:24
•851次阅读
,我们可以从数字存储和数据传输的角度来看这些进制的意义。计算机内部使用的是二进制,即由0和1组成的数字系统。这是因为计算机中的所有
发表于 01-16 11:14
•602次阅读
十进制转换为二进制是计算机科学中非常基础且重要的概念之一。在理解和应用计算机科学的基础知识时,掌握这个算法是至关重要的。 在开始讲解十进制转
发表于 01-15 10:32
•573次阅读
你知道十进制转二进制如何进行转换吗? 当我们提到数字系统时,最常见的是十进制系统和二进制系统。十进制是基于10的系统,而
发表于 12-20 17:05
•669次阅读
AD9245数据输出选用偏移二进制格式,得到的数据怎么计算
发表于 12-12 08:05
二进制最佳接收原理 二进制最佳接收机的实现形式有哪两种? 二进制最佳接收原理是计算机通信中的重要概念,它是指在二进制通信中通过一定的
发表于 11-27 16:19
•567次阅读
这个bcd码和二进制有什么关系?
bcd 表示0011001是19(十进制)
二进制表示0011001是25(十进制)
这个怎么确定是哪个???
发表于 10-07 06:02
应用程序 : 示例代码演示了如何丢弃函数的二进制代码, 然后填入 SRAM 的二进制代码, 然后调用它 。
BSP版本:M451系列BSP V3.01.001
硬件: 任何 M451 系列板块
发表于 08-30 07:35
IAR怎么输出二进制BIN文件?
发表于 08-28 17:19
应用程序 : 示例代码演示了如何丢弃函数的二进制代码, 然后填入 SRAM 的二进制代码, 然后调用它 。
BSP版本:M451系列BSP V3.01.001
硬件: 任何 M451 系列板块
发表于 08-23 06:34
数值范围取决于机床数据中二进制输出 $BIN_OUT[...] 的配置(文件 ...STEU\Mada\$custom.dat 中的变量)。
发表于 07-27 10:05
•443次阅读
电子发烧友网站提供《二进制数开源分享.zip》资料免费下载
发表于 06-26 11:40
•0次下载
;, \\\"wb\\\");
fwrite(bb, 1, 1, ptr);
fclose(ptr);
使用 SPIFFS 方法,我可以写入文件,但 FILE_WRITE 模式不会将它们写入二进制数据。
请给点小费好吗?
发表于 05-15 08:33
评论