为啥vb.net和vb6.0的AscW函数结果有时会不一样

为何vb.net和vb6.0的AscW函数结果有时会不一样?以脑字为例vb6ascW(脑)-32459vb.netascW(脑)33041

为何vb.net和vb6.0的AscW函数结果有时会不一样?
以"脑"字为例
vb6       ascW("脑")=-32459
vb.net    ascW("脑")=33041

区别在哪里?  我的程序现在是要从6升级到.net,如何才能保持在.net中得到的结果与原本6.0中的结果一致?
[解决办法]
VB6的整数类型是4位;NET的整数类型是8位
我在NET环境用如下两种函数得到同样的结果

    Microsoft.VisualBasic.AscW("脑")=33041
    AscW("脑")=33041

也就是说VB6的结果是溢位后的结果,你将VB6环境的变量设置位长整形(Long)看看