| 网站首页 | 作坊教程 | 下载 | 论坛 | 加入万挂作坊 | 
万挂作坊

数据进制转换

    本节要介绍进制这个基本概念,因为很多新人,特别是没有编程基础的人,对进制很迷糊,特别是遇到十六进制与十进制时常常搞错了概念.

二进制

  相信大家在很多场合里都有见到二进制这个术词,比如电脑书里总是说计算机是二进制运算的,硬盘里保存的文件也都是二进制的,咱们编译出来的EXE也是二进制,在看网络电影时传输的也是二进制流数据.

  二进制是怎么来的呢?首先要说的是电流的问题,只有通与断,有电无电,开与关两种状态.计算机没电的情况下就是一堆铁了.为了计算数据,为了保存文件,为了计算机能正常运行,所以二进制就成了计算机的最基本单位,最基本的概念了.

  二进制只有0与1两个值.所以不会出现3,4,5等. 当超过了0与1时就得进位.如最小的值是0,加1后就等于1,再加1后呢就需要进位而变成了10,继续加1就是11,还加1的话就成了100.只会不断的进制,只有0与1两个基本数不会变成2,3,4等其它值.注意,前面的10,11,100可不是十,十一,一百的哦.

  虽然二进制是基本单位,但事实上我们在编程应中用,在查看数据时等是不会使用二进制来的,因为二进制太麻烦了,如10000 一万这个值,在二进制里是 10011100010000 这么长的,记忆与输写都不方便.

 

八进制

   在最早期由于计算机只支持二进制,而二进制不方便记忆与输入,为表示一个数值,用二进制往往是太长了,后来就产生了八进制.八进制是从0到7共八个数来表示.这下相对于二进制好了很多.五=5,十=12,一百=144,一万=23420....

   老实说,我不喜欢八进制,我相信大家也不会喜欢这玩意,虽然相对二进制来说表示一个数值时短了很多,但仍然不好记忆,输入与换算..可现代还有一些老古董们在用着八进制,特别是在一些80X86等汇编书中出现,真不知道那些人是不是脑袋进水了还是被驴踢过.

 

十进制

  十进制正是我们日常所用的自然数值,阿拉伯数字.从0到9共十个值.每个十进制的数值在我们看到时就能立即认出来并知道他的值是多大,而不需要去计算.所以编程时代码输入用得最多的就是这种十进制数值了.

  在易语言中的各种基本数据类型,字节型,短整数型,整数型,长整数型,小数型,双精度小数型,字节集等输入时都是以十进制格式的.

  注意,易语言编写代码时只支持十进制值.若使用到任何其它进制的值时,都应该先转换为十进制,或用进制转换类的函数进行转换后才能使用.

 

十六进制

  十六进制从0到9之外还增加A,B,C,D,E,F共十六个值来表示.在计算机中以二进制为最小的基本单位,叫比特位,八个位组成了字节型.二进制 11111111= 255 十进制.所以字节型的值范围是 0 到 255 共256个值. 256/16=16 刚好是16*16 .

  不过在十进制或十六进制里都是从0开始,所以十六进制来表示正是 十进制 255 = FF 十六进制. 十进制 128 = 80 十六进制. 在别的支持代码中使用十六进制编程语言中,对于十六进制的数值一般输入 $FF 或 0xFF 或 FFH 等.

  十六进制的应用很广泛,那是因为字节型也是基本的数值单位.从0至255间若用十六进制来表示只需要两个FF符号即可.而短整数型最大值65535是四个FFFF符号,整数型最大值是八个FFFFFFFF符号.而字节集等再长的数据,若用十六进制来表示也都是每个字节以两个符号来表示.如此看起来就比较工整.

  由于别的语言支持代码中使用十六进制,而十六进制就比较整齐,所以在各种计算机书中也比较常见的数值表现方法.即使微软的各种API常量文档中很多的值也都是以十六进制提供的.可惜易语言代码中不支持直接输入十六进制的值.所以我们在易语言中使用十六进制值时,需要先进行转换.

可以使用 计算器->菜单->查看->科学型 切换到此界面,进行简单的数值进制转换计算

 

在万挂作坊模块中提供了几个进制转换的函数

<文本型> 十到二 (整数型 十进制值, 整数型 返回位数)

<整数型> 二到十 (文本型 二进制值)

<文本型> 十到十六 (整数型 十进制值)

<整数型> 十六到十 (文本型 十六进制值)

<文本型> 字节集到十六进制 (字节集 字节集数据, [文本型 分隔符号])  常见的十六进制都是以空格来分隔的,如 FF FF FF FF 当然也可以不分隔 FFFFFFFF.

<字节集> 十六进制到字节集 (文本型 十六进制文本)

 

让大家面对一些数据时,要先清楚你所看到的数据是哪种进制的.在易语言中只支持十进制,若非十进制的数据易语言中使用时,都得进行转换.而十六进制是比较常见的,如UltraEdit,WinHex,WPE.

UltraEdit 二进制文件编辑工具,显示出来的文件数据区是十六进制格式的

WinHex 内存与文件的编辑工具,显示出来的数据也是十六进制格式

WPE 网络封包拦截工具,在拦截到的数据也是以十六进制来显示出来的.

正因为十六进制的格式能工工整整的显示出来,所以未来大家会经常接触到,而这些十六进制数据若要在易语言中使用,需要用 十六到十() 十六进制到字节集() 进行转换.

〖万挂作坊原创 www.zuowg.com
  • 上一篇教程:

  • 下一篇教程: 没有了
  • | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 | 
    万挂作坊

    客服QQ:147422159 技术QQ:42724920
    加入万挂作坊永久会员,请和客服联系
    Copyright © 2005-2012 万挂作坊.版权所有

    信息产业部备案
    *浙ICP备06023406号