我搜索了一个示例来将WINAPI填充值转换为UNIX (对于一个新的time_t项目),并找到了一个Python中的示例。
虽然过去我用Python编写了许多代码,但在该示例中,我不知道<<=和|=语法,而且Google无法为这些搜索语句生成可用的结果。
有人能跟我解释一下他们是干什么的吗?
import datetime
_FILETIME_null_date = datetime.datetime(1601, 1, 1, 0, 0, 0)
def FiletimeToDateTime(ft):
timestamp = ft.dwHighDateTime
timestamp <<= 32
timestamp |= ft.dwLowDateTime
return _FILETIME_null_date + datetime.timedelta(microseconds=timestamp/10)发布于 2016-05-26 22:43:39
这是取自C的,它是'<<‘或’AC.26‘运算符(按位向左移位和按位移动或分别)加上赋值运算符:
a <<= b是相同的
a = a << b同样适用于|=。
发布于 2016-05-26 22:43:09
它们是位移位运算符<<和按位或|的增广赋值版本,就像+=是增广+一样,因此:
timestamp <<= 32等于
timestamp = timestamp << 32https://stackoverflow.com/questions/37472203
复制相似问题