鸡啄米:C++编程入门系列之一(进制数)

        鸡啄米在前言已经讲了程序的发展历程,程序设计的进步和编程入门的一些基本概念。这一节主要讲数据在计算机中的存储结构。计算机执行程序需要控制信息和数据信息,控制信息涉及硬件方面,鸡啄米主要讲数据信息的存储。这部分内容可能有点郁闷,但是这是基础之基础,在编程入门时还是掌握下吧。

        大家应该知道比较常用的数制是十进制、二进制、八进制和十六进制。二进制就是逢二进一,每位都是小于二的数,其他进制类推。计算机存储数据使用的是二进制编码。

        对于一个R进制的数X来说,其值可以通过下面的公式算出来:鸡啄米:C++编程入门系列之一(进制数),前面是整数部分,后面是小数部分,m,n为正整数,表示第i位上的数字乘以进制数的i次方。比如二进制数(11.01)2=1×21+1×20+0×2-1+1×2-2=3.25。当R进制转换到十进制时,就这样转换。

        那十进制怎么转换为R进制呢,可以将十进制数连续除以R,其每个余数就是R进制数各个数位上的数字,最后的余数是最高位。比如将68转换成二进制数,用除2取余法:

 2∟
68                       余数  2∟
34 …………………0       低位  2∟
17 …………………0  2∟
8   …………………1  2∟
4   …………………0  2∟
2   …………………0  2∟
1   …………………0   0
        …………………1       高位

       结果就是6810 =10001002,将68转换为八进制数就用除8取余法。

 
鸡啄米:C++编程入门系列之一(进制数)

       十进制小数转换成R进制小数,整数部分仍按上述方法转换,小数部分则乘以R,然后将结果的整数位取出作为转换最终结果的一位,再用去掉整数位的小数再乘以R,之后循环这样执行,直到小数部分为0或者达到所要求的精度为止,取出的这些整数位第一位为最高位。例如,将十进制小数0.3125转换成二进制小数: 

        0.3125×2 = 0.625       取出0,为最高位

        0.625×2 = 1.25           取出1,剩下的小数为0.25

        0.25×2 = 0.5               取出0

        0.5×2 = 1.0                 取出1,小数位为0,不再继续

       结果就是0.312510 =0.01012 。所以将十进制数68.3125转换成二进制数就是1000100.0101。  

二进制和八进制十六进制之间怎样转换呢?每位八进制数相当于三位二进制数,每位十六进制数相当于四位二进制数,举个例子说明下就清楚了:

(1000100)2=(1 000 100)2=(104)8

(1000100)2=(100 0100)2=(44)16

上面这个等式反过来当然也成立,就是八进制十六进制转换为二进制反过来计算就可以了。

下面鸡啄米再跟大家说下计算机数据的存储单位,常用的单位有“位”,“字节”,“字”。

位:这是数据的最小单位,表示一位二进制数据。

字节:由八位二进制数据组成。字节是数据存储中最常用的基本单位。我们常说内存有2G,这里的单位就是字节。1K等于1024字节,1M等于1024K,1G等于1024M。

字:位的组合,作为一个独立的信息单位处理。取决于机器的类型、字长及使用者的要求。常用的固定字长有8位、16位、32位等。

机器字长:讨论信息单位时,有个与机器硬件指标有关的单位就是机器字长,一般指参加运算的寄存器所含有的二进制数的位数,它代表了机器的精度,如32位、64位等。就是我们常说的32位机器还是64位机器。

这一节鸡啄米就讲到这里了,因为确实是比较死的东西,大家大部分需要记住就行了。如果还有什么不明白的,欢迎大家到鸡啄米博客交流学习。谢谢大家!

除非特别注明,鸡啄米文章均为原创 转载请标明本文地址:http://www.jizhuomi.C++om/software/21.html
2011年8月28日
作者:鸡啄米
分类:软件开发
浏览:
评论:15

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!10210454@qq.com
2. 本站不保证所提供所有下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有RB奖励和额外RMB收入!

磊宇堂正在使用的服务器 维护管理由磊宇云服务器提供支持

磊宇堂 » 鸡啄米:C++编程入门系列之一(进制数)

提供最优质的资源集合

立即查看 了解详情