Sub test()

Dim high As Long
Dim str As String
Dim num As Integer

'a
str = "転"
str = Asc(str)
str = Hex(str)
a = str

'b
str = "転"
str = Hex(Asc(str))
b = str

'c
str = "転"
num = Asc(str)
str = Hex(num)
c = str

End Sub

a=FFFFFFFFFFFF935D  b =935D  c=935D

aとbで結果が異なる理由が分かりません。
cはぼんやりと型の違いなのかと思いテストしたところ、bと同じ結果になりました。
しかし、aもbもstring型のstrに納めているので、「どうして結果が違うのか」とより
謎を強めてしまいました。なぜ、aとbで結果が異なるのか教えてください。