• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

编程基础,二进制数据及取值范围计算方法

SO技术分享之32

本文介绍二进制数据的相关知识,如定义、取值范围计算、转换为十进制的方法以及一些常见位数的二进制数据的取值范围等。

当前计算机系统大多数都是采用二进制的数据存储方式,单片机系统也是同样,所以了解二进制数据是非常必要的。

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。

    对于有符号数,因为有负值,所以取值范围正值部分相对于无符号数来说大约减半,负值部分约为负的其正值部分。

本节完,精彩待续。

全部回复(0)
正序查看
倒序查看
现在还没有回复呢,说说你的想法