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。 对于有符号数,因为有负值,所以取值范围正值部分相对于无符号数来说大约减半,负值部分约为负的其正值部分。 本节完,精彩待续。
|