1
工会
说我有在C++下面的代码:相当于C++中的Python
union {
int32_t i;
uint32_t ui;
};
i = SomeFunc();
std::string test(std::to_string(ui));
std::ofstream outFile(test);
并说我有i
不知何故Python中的价值,我将如何能够获得该文件的名称是什么?
对于那些不熟悉C++的人。我在这里做的是将signed
32位整数格式的值写入i
,然后将按位的表示方式解释为ui
中的32位整数unsigned
。我采用了相同的32位,并以两种不同的方式解释它们。
我该如何在Python中做到这一点?在Python中似乎没有任何明确的类型规范,那么如何以不同的方式重新解释一些位?
编辑:我使用Python 2.7.12
Python是动态类型。所以变量没有附加到他们的类型。您通常可以定义方法,传达数据的特定语义解释。 –
@WillemVanOnsem但它必须有一个基础的按位表示的数据(具有一定的宽度),对吧?那么你是说Python没有32位有符号/无符号整数,或者只是从解释程序的角度来看类型是不可知的? –
在Python-3.x中,所有整数都具有任意大小。您可以使用二进制字符串,然后以您想要的方式解释该字符串。但afaik Python旨在尽可能地屏蔽底层表示。此外,例如内存管理(大部分)是未定义的:每个解释器都可以自由选择是否将对象推入堆栈或堆中。 –