# 6.1.17 UNSIGNED VARINT

Part of: [6 Language](6-language.md) › [6.1 Data Types](6-1-data-types.md)

The HDFql UNSIGNED VARINT data type stores values between 0 and 4,294,967,295 and occupies 4 bytes in memory (per element). It represents the data type of an HDF5 (variable-length) H5T_NATIVE_UINT dataset/attribute or of a result set that stores variable-length elements of this type (which can be retrieved using the [HDFQL_CURSOR_GET_UNSIGNED_INT](5-2-40-hdfql-cursor-get-unsigned-int.md) and [HDFQL_SUBCURSOR_GET_UNSIGNED_INT](5-2-41-hdfql-subcursor-get-unsigned-int.md) functions when working with cursors). Depending on the programming language supported by HDFql, the UNSIGNED VARINT data type is represented by:

- In C, the “unsigned int” data type.
- In C++, the “unsigned int” data type.
- In Java[^25], the “ArrayList\<Integer>” class.
- In Python, the “uint32” NumPy data type.
- In C#, the “UInt32” data type (or corresponding alias “uint”).
- In Fortran[^26], the “INTEGER(KIND = 4)” data type.
- In R[^27], the “integer” data type.
- In MATLAB, the “uint32” data type.

[^25]: By design, Java does not support unsigned data types. Therefore, the programmer is responsible for converting a signed number to its equivalent unsigned representation in Java.
[^26]: Although there have been some efforts to introduce unsigned data types in Fortran, none are currently standardized. Therefore, the programmer is responsible for converting a signed number to its equivalent unsigned representation in Fortran.
[^27]: By design, R does not support unsigned data types. Therefore, the programmer is responsible for converting a signed number to its equivalent unsigned representation in R.
