This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译器:DSP C66x __int40_t类型

Guru**** 2595805 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/622520/compiler-dsp-c66x-__int40_t-type

工具/软件:TI C/C++编译器

您好,

我想使用根据文档返回__int40_t类型的内在信息。

是否可以将返回值转换为C long (64位)类型,或者是否必须使用特殊的__int40_t类型-是否有差异?

在文件中提到"

需要使用_lo和_hi内部函数来访问64位整数结果的每一半-为什么?

如果此类型不能简单地视为64位类型(长),则:

如何迭代添加(累加)__int40_t结果我可以简单地添加两个__int40_t类型,或者在int40_t类型上使用“+=”C操作数吗?

如果您能提供任何帮助和信息,我将不胜感激  

谢谢

伙计

迭代
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    首先,这里是__int40_t类型的一些一般背景。  这是编译器支持的另一个内置整数类型。  它是40位宽。  有带符号的变体和无符号的变体。  支持所有常用的整数算术操作。  当它出现在包含其他类型的表达式中时,将应用常用的整数类型升级规则。  

    [报价用户="Guy Mardiks"]

    我想使用根据文档返回__int40_t类型的内在信息。

    我是否可以将返回值转换为C long (64位)类型

    [/引述]

    你可以这样做。  但这是发生的事情。  内在操作以40位进行。  然后,结果将扩展为64位类型。

    Guy Mardiks 说:
    需要使用_lo和_hi内部函数来访问64位整数结果的每一半-为什么?

    请参阅  C6000编译器手册中标题为“使用未对齐数据和64位值”的部分。

    Guy Mardiks 说:
    如何迭代添加(累积)__int40_t结果我是否可以简单地添加两个__int40_t类型或在int40_t类型上使用"+=" C操作数?

    __int40_t支持这些操作

    谢谢,此致,

    -George