Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

ROOT/Handling Data/ROOT Data Types

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

There are a couple of standard data types like int, float, double, etc. you've probably been using so far. However, despite these universally used names, there is no general agreement, what these types actually mean. In fact, it depends on your machine and compiler, how a data type will actually be stored. For example, some older standards will assign 16 bit to the int type while newer environments will use 32 bit. This might be acceptable for some applications, for data analysis it definitely isn't. As one starts to deal with huge amounts of data, one should be concerned about economic memory usage. This means to chose a data type that is big enough but nothing bigger to hold the intended value with the needed accuracy. To provide this, the programmer must be sure that the chosen data type will actually be the same on any machine the code gets compiled. To ensure this, a number of machine independent data types that will always have the same definition has been defined in ROOT. It is strongly recommended to use this types when programming ROOT. Type Description Size Bool_t logical value (0…false, 1…true) ? Char_t signed integer value 1 byte UChar_t unsigned integer value 1 byte Short_t signed integer value 2 bytes UShort_t unsigned integer value 2 bytes Int_t signed integer value 4 bytes UInt_t unsigned integer value 4 bytes Long_t signed integer value 8 byte ULong_t unsigned integer value 8 byte Float_t floating point value 4 bytes Double_t floating point value 8 bytes Table 1: Some of the machine independent data types defined in ROOT. See ref. for all types.