a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 109|回复: 0

[C语言] 计算机二级VB常用算法:进制转化进10进制数

[复制链接]
发表于 2012-7-31 21:48:08 | 显示全部楼层 |阅读模式
下面程序是把给定的16进制正整数转换为10进制数。 以下是引用片段:
! G- V% P! g( W# O& i4 h2 J# x4 O  Option Explicit ) h6 C0 f) \/ E  ~! j; \
  Private Sub Form_Click() * {1 k. G6 n. _3 U  W
  Dim St As Integer, Dem As Long - B9 e) w5 T% u% p' p
  St=InputBox("输入一个十六进制数")
0 K( ]/ m/ }7 \7 d/ @- @  Dem=Convert(St) ( Y* v# N" }3 J% f% C
  Print St; ">="; Dem
; ?. m  C9 v: M$ I$ C9 Z- Y  End Sub   W! k! k) ?% h0 `
  Private Function Convert(S As String)As Long & v% A/ X$ u! C
  Dim N As Integer, I As Integer,Substring As String*1
0 t& G8 x5 }: {& j  Dim P As long, K As Long,Asc1 As Integer
7 ?  ?0 q9 i' {4 [( s. A8 m  N= (1)
- [  N& f' R9 A2 \( X0 N6 y0 S' l  P=16^N 7 A  d+ F6 i+ m. D. E% `" J
  For I=1 To N 7 E0 k, v7 x* G3 n, d5 h+ J$ [% U! v
  P=P/16 & G. I0 e. U) F) D
  Substring= (2) " y" V$ l$ T  W, s; C
  Select Case Substring . ]0 i9 U6 S. A- o& V1 u
  Case "0" To "9"
2 W9 B5 o' K, \) [" B& E0 M  G  K=K+P*Val(Substring)
) N. Y  }5 e# |3 ]: [1 [  Case (3)
* C) }6 n  Q/ p: i% ]; N9 {  Asc1=Asc(Substring)-Asc("A")+10 / j8 U  b0 k% ^+ j. C
  (4)
. F: Y" Q. `/ H' D  End Select 1 Z* Z3 K9 H! G! K+ V
  Next I
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-2 17:10 , Processed in 0.207055 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表