有一批16进制8字符长的字符串,已转换成10进制数,但是为负数,如:
-200100366
-199959278
-1872555956
现在没有16进制的原始字符串,想还原出16进制串。
我按一定规则拼出数万组8位16进制串,在excel里转为10进制,都没有出现负数的情况,
所以想问问,到底什么样的16进制串会导致转10进制时出现负数?
------解决思路----------------------
那要看是以什么方式将16进制转10进制的。也许转换进制的那个函数认为输入的16进制数是有符号数,于是它的二进制形式第一位就被解释为符号位了。
------解决思路----------------------
不知道你是怎么“在excel里转为10进制”的;通常的表示方法是补码格式吧,即最高位作为符号位(0=正数;1=负数),8字符即 dword 类型的,00000000-7fffffff 间为正数,80000000-ffffffff 间为负数。