有符号的类与无符号的类不同:
-
ap_int<int_W>
(有符号) -
ap_uint<int_W>
(无符号)
int_W
模板参数可指定要声明的变量的总宽度。
用户定义的类型可使用 C/C++ typedef
声明来创建,如以下示例所示:
include "ap_int.h"// use ap_[u]fixed<> types
typedef ap_uint<128> uint128_t; // 128-bit user defined type
ap_int<96> my_wide_var; // a global variable declaration
允许的默认最大宽度为 1024 位。此默认设置可通过在包含 ap_int.h
头文件之前定义含正整数(小于或等于 4096)的 AP_INT_MAX_W
宏来覆盖。
警告:
AP_INT_MAX_W
的值设置过高可能导致软件编译缓慢、运行时间延长。以下是覆盖 AP_INT_MAX_W
的示例:
#define AP_INT_MAX_W 4096 // Must be defined before next line
#include "ap_int.h"
ap_int<4096> very_wide_var;