用C语言将较窄的数据类型存储为较宽的数据类型的正确方法是什么?

杰森·汤普森

我目前正在修复C代码中的遗留错误。在修复此错误的过程中,我将储存unsigned int在中unsigned long long但是令我惊讶的是,当我在64位版本的上编译此代码时,数学运算停止了GCC我发现问题在于,当我分配一个long longint值时,我得到了一个看起来像的数字0x0000000012345678,但是在64位计算机上,该数字变成了0xFFFFFFFF12345678

有人可以向我解释或指出某种规格或文档,说明在将较小的数据类型存储到较大的数据类型时会发生什么以及在C中执行此操作的合适模式是什么?

更新-代码示例

这是我在做什么:

// Results in 0xFFFFFFFFC0000000 in 64 bit gcc 4.1.2
// Results in 0x00000000C0000000 in 32 bit gcc 3.4.6
u_long foo = 3 * 1024 * 1024 * 1024;
迈克·邓拉维

我认为您必须告诉编译器右边的数字是无符号的。否则,它认为这是一个普通的有符号整数,并且由于设置了符号位,因此认为它为负数,然后将其符号扩展到接收器中。

因此,在右侧执行一些未签名的强制转换。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在C中为不同的数据类型分配内存的正确方法是什么?

来自分类Dev

.net Stack 数据类型的数据存储类型是什么?

来自分类Dev

为可能没有值的数据类型指定字段的正确方法是什么

来自分类Dev

将方法定义为自己的类数据类型有什么用?

来自分类Dev

数据类型存储

来自分类Dev

“日期”数据类型的正确格式是什么?

来自分类Dev

我将 16 位数字存储到数据库中的数据类型是什么?

来自分类Dev

如果我想存储 ID 数组,正确的数据类型是什么?

来自分类Dev

Javascript:这是什么数据类型?

来自分类Dev

FILE的数据类型是什么?

来自分类Dev

Exception变量是什么数据类型?

来自分类Dev

char数据类型的目的是什么?

来自分类Dev

Javascript:这是什么数据类型?

来自分类Dev

Exception变量是什么数据类型?

来自分类Dev

什么是存储高度的最佳数据类型?

来自分类Dev

在单例数据类型中使用Nat / Natural的正确方法是什么?

来自分类Dev

询问变量C ++中的数据类型是什么

来自分类Dev

C中数字的默认数据类型是什么?

来自分类Dev

C#中ParameterInfo的数据类型是什么?

来自分类Dev

c中常数的默认数据类型是什么?

来自分类Dev

C中可以存储10,000,000的最小数据类型是什么?

来自分类Dev

在C#中(数据类型,数据类型)x =(值,值)是什么意思?x的实际数据类型是什么?

来自分类Dev

如何使用Datetime.Ticks C#将BIGINT数据类型存储为会话ID

来自分类Dev

将数据类型的复杂html视图标准化的首选方法是什么?

来自分类Dev

变量的正确数据类型

来自分类Dev

使用字典将python数据类型转换为其他语言的数据类型

来自分类Dev

在数据库中存储布尔值的最佳数据类型是什么

来自分类Dev

空数据库字段是什么数据类型?

来自分类Dev

如何存储抽象类型的数据?将数据存储为sql_variant数据类型是否明智?

Related 相关文章

  1. 1

    在C中为不同的数据类型分配内存的正确方法是什么?

  2. 2

    .net Stack 数据类型的数据存储类型是什么?

  3. 3

    为可能没有值的数据类型指定字段的正确方法是什么

  4. 4

    将方法定义为自己的类数据类型有什么用?

  5. 5

    数据类型存储

  6. 6

    “日期”数据类型的正确格式是什么?

  7. 7

    我将 16 位数字存储到数据库中的数据类型是什么?

  8. 8

    如果我想存储 ID 数组,正确的数据类型是什么?

  9. 9

    Javascript:这是什么数据类型?

  10. 10

    FILE的数据类型是什么?

  11. 11

    Exception变量是什么数据类型?

  12. 12

    char数据类型的目的是什么?

  13. 13

    Javascript:这是什么数据类型?

  14. 14

    Exception变量是什么数据类型?

  15. 15

    什么是存储高度的最佳数据类型?

  16. 16

    在单例数据类型中使用Nat / Natural的正确方法是什么?

  17. 17

    询问变量C ++中的数据类型是什么

  18. 18

    C中数字的默认数据类型是什么?

  19. 19

    C#中ParameterInfo的数据类型是什么?

  20. 20

    c中常数的默认数据类型是什么?

  21. 21

    C中可以存储10,000,000的最小数据类型是什么?

  22. 22

    在C#中(数据类型,数据类型)x =(值,值)是什么意思?x的实际数据类型是什么?

  23. 23

    如何使用Datetime.Ticks C#将BIGINT数据类型存储为会话ID

  24. 24

    将数据类型的复杂html视图标准化的首选方法是什么?

  25. 25

    变量的正确数据类型

  26. 26

    使用字典将python数据类型转换为其他语言的数据类型

  27. 27

    在数据库中存储布尔值的最佳数据类型是什么

  28. 28

    空数据库字段是什么数据类型?

  29. 29

    如何存储抽象类型的数据?将数据存储为sql_variant数据类型是否明智?

热门标签

归档