Jump to bottom
This article may contain parts which are misleading. Please help clarify this article according to any suggestions provided on the talk page.
Crystal Clear app kedit.svg
This article may need to be rewritten entirely to comply with Wikipedia's quality standards. You can help. The discussion page may contain suggestions. (September 2009)

A data type (or datatype) In programming, a classification identifying one of various types of data, as floating-point, integer, or Boolean, stating the possible values for that type, the operations that can be done on that type, and the way the values of that type are stored.[1]

Overview

Almost all programming languages explicitly include the notion of data type, though different languages may use different terminology. Most programming languages also allow the programmer to define additional data types, usually by combining multiple elements of other types and defining the valid operations of the new data type. For example, a programmer might create a new data type named "Person" that specifies that data interpreted as Person would include a name and a date of birth. Common data types may include:

For example, in the Java programming language, the "int" type represents the set of 32-bit integers ranging in value from -2,147,483,648 to 2,147,483,647, as well as the operations that can be performed on integers, such as addition, subtraction, and multiplication. Colors, on the other hand, are represented by three bytes denoting the amounts each of red, green, and blue, and one string representing that color's name; allowable operations include addition and subtraction, but not multiplication.

A data type also represents a constraint placed upon the interpretation of data in a type system, describing representation, interpretation and structure of values or objects stored in computer memory. The type system uses data type information to check correctness of computer programs that access or manipulate the data.

Classes of data types

Function types

Machine data types

All data in computers based on digital electronics is represented as bits (alternatives 0 and 1) on the lowest level. The smallest addressable unit of data is usually a group of bits called a byte (usually an octet, which is 8 bits). The unit processed by machine code instructions is called a word (as of 2008, typically 32 or 64 bits). Most instructions interpret the word as a binary number, such that a 32-bit word can represent unsigned integer values from 0 to 232 − 1 or signed integer values from − 231 to 231 − 1. Because of two's complement, the machine language and machine don't need to distinguish between these unsigned and signed data types for the most part.

There is a specific set of arithmetic instructions that use a different interpretation of the bits in word as a floating-point number.

Object types

Pointer and reference data types

Primitive data types

See also

Search Wikimedia Commons Wikimedia Commons has media related to: Data types

References

Further reading

Data types
Uninterpreted
Bit · Byte · Word

Numeric
Integer · Fixed-point · Floating-point · Rational · Complex · Bignum · Interval

Text
Character · String

Pointer
Address · Reference

Composite
Product · Record · Union (tagged) · Class · Object · Array · List · Associative array · Set · Algebraic data type (generalized)

Other
Bottom type · Void · Unit type · Top type · Boolean · Enumerated type · First-class function · Opaque data type · Stream · Exception · Collection · Recursive data type · Type class

Related topics
Data structure · Subtyping · Primitive data type · Abstract data type · Template · Interface · Parametric polymorphism · Type constructor · Kind (type theory)