60得票10回答
在C语言中指定枚举类型的大小

已经阅读了这个相关问题,但是想要更具体的解答。 有没有一种方法可以明确告诉编译器你希望枚举的宽度是多少? 如果有的话,你怎么做呢?我知道在C#中如何指定,那在C语言中是否也是这样做的呢? 这样做是否值得?当枚举值传递给一个函数时,它会被作为一个整型值传递吗?

41得票2回答
tword、oword和yword操作数的大小是多少?

在NASM/YASM manual中,tword、oword和yword操作数的大小是多少?此外,这些名称有什么技巧或基本思想吗?是否有一种方法可以给更大的字长命名逻辑名称? 我知道字长可能因系统而异,NASM的word是2个字节,dword是双倍(4个字节),qword是四倍(8个字节),...

38得票10回答
确定我的处理器的字长

我如何确定我的CPU的字长?如果我理解正确,int应该是一个字长对吧?但我不确定自己是否正确。 所以,只需打印sizeof(int)就足以确定处理器的字长了吗?

24得票4回答
在C语言中,sizeof返回的是一个类型所占用的字节数或八位组数?

简单来说,对于 C 和其变体(不像 Java 那样使用虚拟机),原始数据类型在不同目标上的大小可以差异很大,并且只有在使用 stdint.h 中定义的固定宽度类型时才能保证,即使如此,你的实现也必须支持它们。 假设(因为在大多数现代计算机中一个字节是八位,用于网络目的我假设是 ASCII),...

11得票2回答
LP64、LLP64和IL32过渡

在20世纪80年代从16位到32位的转变中,int 的大小要么是16位,要么是32位。使用当前的64位过渡命名规则,我了解到ILP32和LP32机器的分布相当均匀。当时人们普遍认为,在任何给定的体系结构中,int 都将遵循寄存器或指针宽度,并且 long 仍然保持32位。 快进25年,我看到L...

7得票2回答
Int32和Int64的性能表现如何?

我经常看到像这样的程序,其中在32位平台上,Int64是一个绝对的性能杀手。我的问题是: 如果我需要特定的字长来完成任务(在我的情况下是RNG),Int64在64位平台上是否有效或者它仍然使用C调用?将Int64转换为 Int 有多高效?