热情软件屋

 

如何进行进制间相互转换


编号:QA002540
建立日期: 2000年2月7日 最后修改日期:2000年2月7日
所属类别:

wen:
    编程工具: vb
    操作系统: windows
    最近我在编程中遇到一些问题,我用 OPEN语句打开文件再用GET语句读出,现在我想用一个循环语句将读出的数据放到一个数组里,并且保证读出的数为十六进制(因为用GET语句读出的数据VB都自动转变为十进制)。请问以上的问题可否实现,如果可以,小弟万分感激!!!请问如何将八进制、十进制、十六进制、字母、中文等这些进制与进制间、文字(字母、中文)与进制间相互转。谢谢!!

回答:

    我想你有一个错误的观点,就是“用GET语句读出的数据VB都自动转变为十进制”。实际上在计算机内部保存数据只使用二进制,只是为了让你看得方便,当你使用Print语句输出或使用其他方式查看数据时,都以十进制方式显示。如果你希望使用十六进制或八进制显示,可以使用Hex或Oct函数,如:
    Dim nData As Integer
    ......
    Get #1, , nData
    Print nData, Hex(nData), Oct(nData)
    而如果你要转换一个十六进制或八进制表示的字符串为数字,可以使用Val函数,如:
    nData = Val("&HACDF") ' 十六进制
    nData = Val("&O1277") ' 八进制
    如果要进行内码和字符(包括中文)之间的转换请参考VB的Asc和Chr函数的帮助。
    
    相关问题:
    QA001687 "如何在程序中实现将汉字内码输出成汉字的功能"
    QA002173 "如何知道字符串表示的十六进制数是多少"
    QA000989 "如何自动将数字格式化"
    QA000998 "API定义中的&H是什么含义"
    QA002851 "如何把十六进制的数转换成二进制的数"

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio