请问我在VB中用asc函数可以求出一个汉字的ascii值,这具体又是为什么?

来源:百度知道 编辑:UC知道 时间:2024/06/23 14:34:44
我知道这是有一点问题的,可是明明求出来了啊,是负值,我想知道具体是为什么,什么原理呢?
请哪位高手详细解释一下。

汉字是由两个asc组成的,其中可能有大于127的asc码,就会显示为负
比如127转成二进制是01111111,128就是10000000了,第一位是符号位,所以128就被算成-0了;同理129就是10000001,也就是-1;130就是-2……

以下使用的数字为十六进制
ascii值为0~FF
(二进制就是00000000~11111111,有8位)
英语那块用了前面的A0,即小于10100000
后面的被留下当特殊符号用,
在中国就用后面的了。
两个ascii的值拼凑出一个汉字
所以汉字的ascii至少是A0A0(1010000010100000)
在计算机里,二进制数的最左一位为符号位
那么汉字ascii就是负值了。