这应该很容易。看了怎么回事,我不太确定。单个二进制整数的写入/读取是原子的吗?这就是底层硬件读取和写入 32 位整数的方式。经过一番研究,我意识到 Python 不会将整数存储为字节集合。它甚至不将字节存储为字节集合。涉及开销。这种开销是否会破坏二进制整数的原子性质?
这是我用来解决这个问题的一些代码:
import time
import sys
tm=time.time()
int_tm = int(tm * 1000000)
bin_tm = bin(int_tm)
int_bin_tm = int(bin_tm, 2)
print('tm:', tm, ", Size:", sys.getsizeof(tm))
print('int_tm:', int_tm, ", Size:", sys.getsizeof(int_tm))
print('bin_tm:', bin_tm, ", Size:", sys.getsizeof(bin_tm))
print('int_bin_tm:', int_bin_tm, ", Size:", sys.getsizeof(int_bin_tm))
输出:
tm: 1581435513.076924 , Size: 24
int_tm: 1581435513076924 , Size: 32
bin_tm: 0b101100111100100111010100101111111011111110010111100 , Size: 102
int_bin_tm: 1581435513076924 , Size: 32
对于几个附带的问题,Python 的整数二进制表示真的会消耗这么多内存吗?我是否使用错误的类型将十进制整数转换为字节?
犯罪嫌疑人X
相关分类