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 &"")