- 496 名前:419 mailto:sage [2007/12/26(水) 08:48:24 ]
- 最終的に、演算子を自分で定義しました。
レス下さった方々、ありがとうございました。 class int32(int): def __int2long(self, n): if n >= 0: return long(n) else: return long(0xffffffff - n - 1) def __long2int(self, n): if n & 0x80000000: # negative return int(-2**31 + (n & 0x7fffffff)) else: # positive return int(n & 0x7fffffff) def __and__(self, y): return self.__long2int(self.__int2long(self) & self.__int2long(y)) def __or__(self, y): return self.__long2int(self.__int2long(self) | self.__int2long(y)) def __lshift__(self, y): n = self.__int2long(self) << y return int32(self.__long2int(n)) def __rshift__(self, y): n = self.__int2long(self) >> y return int32(self.__long2int(n))
|

|