跳转到内容

ROOT/数据处理/ROOT数据类型

来自维基教科书,开放的书籍,开放的世界

您可能已经使用了一些标准的数据类型,例如intfloatdouble等。但是,尽管这些名称在普遍使用,但这些类型实际的含义并没有统一的共识。事实上,它们的实际存储方式取决于您的机器和编译器。例如,一些较旧的标准会将int类型分配为16 位,而较新的环境则会使用32 位。对于某些应用来说,这可能是可以接受的,但对于数据分析来说,这绝对不行。当开始处理海量数据时,应该关注经济的内存使用。这意味着选择一个足够大但不会更大的数据类型,以在所需的精度范围内容纳目标值。为了确保这一点,程序员必须确信所选数据类型在代码编译的任何机器上都是一样的。

为了确保这一点,ROOT 中定义了一系列与机器无关的数据类型,这些类型始终具有相同的定义。强烈建议在使用 ROOT 进行编程时使用这些类型。

类型 描述 大小
Bool_t 逻辑值 (0…false, 1…true) ?
Char_t 带符号整数 1 字节
UChar_t 无符号整数 1 字节
Short_t 带符号整数 2 字节
UShort_t 无符号整数 2 字节
Int_t 带符号整数 4 字节
UInt_t 无符号整数 4 字节
Long_t 带符号整数 8 字节
ULong_t 无符号整数 8 字节
Float_t 浮点数 4 字节
Double_t 浮点数 8 字节

表 1: ROOT 中定义的一些与机器无关的数据类型。有关所有类型的信息,请参阅参考文献 [1]

华夏公益教科书