x64架构指令应该用unsigned long long保存还是unsigned long
时间: 2023-11-24 09:08:31 浏览: 35
x64架构的指令通常使用64位的寄存器进行操作,因此建议使用`unsigned long long`类型来保存64位的值。在某些情况下,使用`unsigned long`也可以正常工作,但是在有些平台上,`unsigned long`只有32位,无法存储64位的值。因此,为了确保代码的可移植性和正确性,建议使用`unsigned long long`类型。
相关问题
unsigned long i, j; unsigned long nData[2]; unsigned long nAccum[2]; unsigned long TableCRCHigh[256]; unsigned long TableCRCLow[256]; unsigned long temp; unsigned long index; unsigned char aData_temp; unsigned char* paData;
这段代码是定义了一些变量,包括两个 unsigned long 类型的数组 nData 和 nAccum,分别用于存储数据和 CRC 的累加值;两个 unsigned long 类型的数组 TableCRCHigh 和 TableCRCLow,用于存储高位和低位的 CRC 校验表;两个 unsigned long 类型的变量 temp 和 index,用于在计算 CRC 时的临时存储;一个 unsigned char 类型的变量 aData_temp 和一个指向 unsigned char 类型的指针 paData,用于处理输入数据。
unsigned long long 和longlong
unsigned long long和long long都是C++中的整数类型,但它们在存储范围上有所不同。unsigned long long是无符号整数类型,能够存储更大的正整数值,而long long是有符号整数类型,能够存储更大的整数范围,但是其中有一位表示符号位,因此存储的范围较小。
阅读全文