Variables 任意语言-声明任意变量大小

Variables 任意语言-声明任意变量大小,variables,memory,int,Variables,Memory,Int,我知道类型用于定义这样一个变量在内存中的占用。所以我可以声明一个我想要的大小的变量?例如,假设我的变量值​​将使用0-3。我不知道int在python中所占的位置,但我们假设它是8字节。我不需要所有这些来存储数字3。可以使用2位执行相同的操作。您可以用python或任何其他语言来实现这一点吗?但是它也可以声明一个变量1位,7位,54位,我想要的大小 对于Python 您不知道变量占用了多少空间。如果您关心空间,请用C编写。您可以使用字节和其他构造,但是在字节和其他构造之间的转换会丢失您在空间中保

我知道类型用于定义这样一个变量在内存中的占用。所以我可以声明一个我想要的大小的变量?例如,假设我的变量值​​将使用0-3。我不知道int在python中所占的位置,但我们假设它是8字节。我不需要所有这些来存储数字3。可以使用2位执行相同的操作。您可以用python或任何其他语言来实现这一点吗?但是它也可以声明一个变量1位,7位,54位,我想要的大小

对于Python 您不知道变量占用了多少空间。如果您关心空间,请用C编写。您可以使用字节和其他构造,但是在字节和其他构造之间的转换会丢失您在空间中保存的任何内容

要找出支持的最大整数,请使用sys.maxint

一般来说 如果您不是指Python,那么我们可以以C为例。空间利用有许多不同的类型

unsigned char - 1 byte
small int - 2 byte
int - 4 bytes
long - 8 bytes
但将其存储在2位中?如果你在递减和递增,你可能会失去你在空间中获得的复杂性

您是否要在同一字节中打包其他变量以填充它? 你确定没有用你的比特数破坏这些值吗


出于许多原因,对于类似这样的内容,只转到字节级别是有意义的。

如果您非常担心内存分配,请不要使用Python之类的解释性语言。我们需要从这棵树上看到森林,是您感兴趣的变量的内存大小,还是您想限制用户可以存储在变量中的值的范围?@That1Guy他试图问什么语言最适合优化内存。他想要一个值永远不会超过4的变量,但它是以8字节而不是2位的形式存储的。为了清晰起见,我可以编辑。精确@AdamSmith。对不起,不清楚。editOP能把这个问题改成删除对Python的引用吗?@AdamSmith,他在他的文章中仍然引用Pythonquestion@PadraicCunningham他也是。他从标题中删除了标签和Python一词。