Python中的C数

2024-06-10 15:28:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在回顾一些利用cytypes库的代码,我看到了一些新的东西:

print("some_num : %04x" % [a c_uint32 number]) # [] used as placeholder
print("another  : %01x" % [a c_uint8 number])
print("another1 : %02x" % [a c_uint16 number])

我可以看出格式符号与%ctype数字之间有关系,但我不确定这是什么。如有任何帮助/参考资料,将不胜感激!你知道吗


Tags: 代码利用numberasanothersomenumplaceholder
2条回答

要打印一个cuuint变量var1,您需要本文件:你知道吗

printf('the value of variable is %d', var1)
  • c_uint8使用1字节(=8位)。你知道吗
  • c_uint16使用2个字节(=16位)。你知道吗
  • c_uint32使用4个字节(=32位)。你知道吗

2hexadecimal digits定义一个字节。这意味着^{}之前的数字应该是c_uint之后数字的四分之一。这样,所有十六进制数都将具有相同的长度。你知道吗

print("another  : %02x" % [a c_uint8 number])
print("another1 : %04x" % [a c_uint16 number])
print("some_num : %08x" % [a c_uint32 number])

下面是一个小测试:

>>> from numpy import iinfo, uint8, uint16, uint32
>>> iinfo(uint8).max
255
>>> '1 byte : %02x' % 0
'1 byte : 00'
>>> '1 byte : %02x' % iinfo(uint8).max
'1 byte : ff'
>>> '2 bytes : %04x' % 0
'2 bytes : 0000'
>>> '2 bytes : %04x' % iinfo(uint16).max
'2 bytes : ffff'
>>> '4 bytes : %08x' % 0
'4 bytes : 00000000'
>>> '4 bytes : %08x' % iinfo(uint32).max
'4 bytes : ffffffff'

相关问题 更多 >