关于ShortInt的问题
toby 2005-03-07 05:40:53 在C++Builder中的system.hpp定义了一组全局的静态常量,如:
static const Shortint vmtSelfPtr = 0xffffffb4;
其中,ShortInt在sysmac.h中定义:
typedef signed char Shortint; // -128..127
很明显,上面的常量都是用补码表示的,可是为什么不直接用 0xb4,而非要用0xffffffb4呢?
调试一下可以看到,vmtSelfPtr = 0xffffffb4和vmtSelfPtr = 0xb4的结果是一样的,都是“-76”,Borland在定义时为何不用0xb4呢?