代码拉取完成,页面将自动刷新
class bit_32:
def __init__(self, x=0):
self.val = x & 0xffffffff
def update(self):
self.val = self.val & 0xffffffff
def __get__(self):
self.update()
return self.val
def __set__(self, instance, value):
self.val = value
self.update()
def __setitem__(self, index, value):
if value:
self.val = self.val | (value << index)
else:
self.val = self.val & ~(value << index)
self.update()
def __getitem__(self, index):
self.update()
if self.val & (1 << index):
return 1
else:
return 0
class bit_64:
def __init__(self, x=0):
self.val = x & 0xffffffffffffffff
def update(self):
self.val = self.val & 0xffffffffffffffff
def __get__(self):
self.update()
return self.val
def __set__(self, instance, value):
self.val = value
self.update()
def __setitem__(self, index, value):
if value:
self.val = self.val | (value << index)
else:
self.val = self.val & ~(value << index)
self.update()
def __getitem__(self, index):
self.update()
if self.val & (1 << index):
return 1
else:
return 0
def get_bit(item, index):
if item & (1 << index):
return 1
else:
return 0
def get_seg(item, left, right):
len = left - right + 1
return (item >> left) % (1 << len)
class bit_16:
def __init__(self, x=0):
self.bits = x & 0xffff
def update(self):
self.bits &= 0xffff
def __get__(self):
self.update()
return self.bits
def __set__(self, instance, value):
self.bits = value
self.update()
class byte:
def __init__(self, x=0):
self.val = x & 0xff
def update(self):
self.val &= 0xff
def __get__(self):
self.update()
return self.val
def __set__(self, instance, value):
self.val = value
self.update()
def byte_to_bit16(byte1, byte0):
return (byte1 << 8) | byte0
def bit16_to_byte(bits):
byte1 = (bits >> 8) & 0xff
byte0 = bits & 0xff
return byte1, byte0
def byte_to_bit32(byte3, byte2, byte1, byte0):
bit16_1 = byte_to_bit16(byte3, byte2)
bit16_0 = byte_to_bit16(byte1, byte0)
return (bit16_1 << 16) | bit16_0
def bit32_to_byte(bits):
bit16_1 = (bits >> 16) & 0xffff
bit16_0 = bits & 0xffff
byte3, byte2 = bit16_to_byte(bit16_1)
byte1, byte0 = bit16_to_byte(bit16_0)
return byte3, byte2, byte1, byte0
def bit64_to_byte(bits):
bit32_1 = (bits >> 32) & 0xffffffff
bit32_0 = bits & 0xffffffff
byte7, byte6, byte5, byte4 = bit32_to_byte(bit32_1)
byte3, byte2, byte1, byte0 = bit32_to_byte(bit32_0)
return byte7, byte6, byte5, byte4, byte3, byte2, byte1, byte0
def byte_to_bit64(byte7, byte6, byte5, byte4, byte3, byte2, byte1, byte0):
bit32_1 = byte_to_bit32(byte7, byte6, byte5, byte4)
bit32_0 = byte_to_bit32(byte3, byte2, byte1, byte0)
return (bit32_1 << 32) | bit32_0
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。