VBS(VBScript)サポート&サンプルTOPへ

VBS(VBScript)による符号付き10進数の値を符号なし16進数(hex)コードに変換するプログラムを紹介

符号付き10進数の値を符号なし16進数(hex)コードに変換するプログラム。尚エラー処理(条件処理)などはちゃんとしていません。

サンプルソース


Dim a2,b2,k2,c
a2 = inputbox("shift-JISコードに変換する、符号付き10進数を入力して下さい。") '10進数(16ビット以内)
c = chr(a2)
if a2 > 0 then

  msgbox("値が正です。shift-JISコードは負なので終了します。")
  WScript.Quit(2)
else
  a2 = abs(a2)
end if

a2 = a2 - 1

for i = 1 to 16   '16ビットなので
  b2 = a2 mod 2
  a2 = (a2-b2) / 2
  k2 = b2 & k2
    if (a2=0) then
      exit for
    end if
  next

if (a2>=1) then
  msgbox("16ビットを超えています。shift-JISコードは16ビット以内なので終了します。")
  WScript.Quit(2)
end if

Dim a,n1,n2,n3,m,i,n,m1,x
a = ""& k2 &""   '2進数
m = 0
x = 1
n1 = len(a)

for i = n1 to 1 step -1
  n2 = mid(a,x,1)
  x = x + 1
    if n2 = 1 then
      n = 0
    else
      n = 1
    end if
  m1 = m1 & n
next

m1 = 1 & m1
a = ""& m1 &""   '2進数
m = 0
x = 1
n1 = len(a)

for i = n1 to 1 step -1
  n2 = mid(a,x,1)
  x = x + 1
    if n2 = 1 then
      n3 = 2^(i-1)
    else
      n3 = 0
    end if
  m = m + n3
next
m = hex(m)
msgbox(""& m &" : "& c &"")



  

戻る




Copyright (C) VBS(VBScript)サポート&サンプル by wannko All Rights Reserved.
お問合せ先 ⇒ nachiko★wannko.net(★を@に変更して下さい。)