1
我使用python解析某些ASCII文本的最小值和最大值: UI8,SI32,等...retrive這回我像串的CTYPE
基於這些我需要計算類型的最大值串並用以下字符串替換它們: 無符號字符,有符號長等等...
我在python ctypes lib中找到,但我無法找到如何獲得最大\最小值。
Python中是否有與C++中的std::numeric_limits
等價的東西?
我使用python解析某些ASCII文本的最小值和最大值: UI8,SI32,等...retrive這回我像串的CTYPE
基於這些我需要計算類型的最大值串並用以下字符串替換它們: 無符號字符,有符號長等等...
我在python ctypes lib中找到,但我無法找到如何獲得最大\最小值。
Python中是否有與C++中的std::numeric_limits
等價的東西?
有多少這樣的字符串?這可能是最快的手自己定義它們:
class MaxVal:
SI8 = 2 ** 7 - 1
UI8 = 2 ** 8 - 1
SI16 = 2 ** 15 - 1
UI16 = 2 ** 16 - 1
SI32 = 2 ** 31 - 1
UI32 = 2 ** 32 - 1
SI64 = 2 ** 63 - 1
UI64 = 2 ** 64 - 1
或者你可以把它們放在一個dict
。我把它們放在一個class
的靜態屬性,因爲它是關於你提到他們的方式,「感覺像」 enum
常量讓最巧妙的方法:
print(MaxVal.UI32)
更多編程,如果你的字符串類型是可變的,你可以使用這樣的:
dt = 'UI32'
print(getattr(MaxVal, dt))
相應MinVal
定義作爲練習留給讀者..
你可以嘗試從C++ numeric_limits MIN(),MAX()。 – Karthikeyan
在ctype上是'sizeof'你在找什麼? –
你可以從[這個答案](http://stackoverflow.com/a/31340336/4014959)得到一個包含整數'ctypes'的邊界信息的元組。 –