Dot-decimal notation

Dot-decimal notation is a presentation format for numerical data. It consists of a string of decimal numbers, using the full stop (dot) as a separation character.

A common use of dot-decimal notation is in information technology where it is a method of writing numbers in octet-grouped base-10 (decimal) numbers. In computer networking, Internet Protocol Version 4 (IPv4) addresses are commonly written using the quad-dotted notation of four decimal integers, ranging from 0 to 255 each.

IPv4 address


In computer networking, the notation is associated with the specific use of quad-dotted notation to represent IPv4 addresses and used as a synonym for dotted-quad notation. Dot-decimal notation is a presentation format for numerical data expressed as a string of decimal numbers each separated by a full stop. For example, the hexadecimal number 0xFF000000 may be expressed in dot-decimal notation as 255.0.0.0.

An IPv4 address has 32 bits. For purposes of representation, the bits may be divided into four octets written in decimal numbers, ranging from 0 to 255, concatenated as a character string with full stop delimiters between each number. This octet-grouped dotted-decimal format may more specifically be called "dotted octet" format, or a "dotted quad address".

For example, the address of the loopback interface, usually assigned the host name localhost, is 127.0.0.1. It consists of the four octets, written in binary notation: 01111111, 00000000, 00000000, and 00000001. The 32-bit number is represented in hexadecimal notation as 0x7F000001.

No formal specification of this textual IP address representation exists. The first mention of this format in RFC documents was in RFC 780 for the Mail Transfer Protocol published May 1981, in which the IP address was supposed to be enclosed in brackets or represented as a 32-bit decimal integer prefixed by a pound sign. A table in RFC 790 (Assigned Numbers) used the dotted decimal format, zero-padding each number to three digits. RFC 1123 (Requirements for Internet Hosts – Application and Support) of October 1989 mentions a requirement for host software to accept “IP address in dotted-decimal ("#.#.#.#") form”, although it notes “[t]his last requirement is not intended to specify the complete syntactic form for entering a dotted-decimal host number”. An IETF draft intended to define textual representation of IP addresses expired without further activity.

A popular implementation of IP networking, originating in 4.2BSD, contains a function inet_aton for converting IP addresses in character string representation to internal binary storage. In addition to the basic four-decimals format and 32-bit numbers, it also supported intermediate syntax forms of octet.24bits (e.g. 10.1234567; for Class A addresses) and octet.octet.16bits (e.g. 172.16.12345; for Class B addresses). It also allowed the numbers to be written in hexadecimal and octal representations, by prefixing them with 0x and 0, respectively. These features continue to be supported in some software, even though they are considered as non-standard. This means addresses with a component written with a leading zero digit may be interpreted differently in programs that do or do not recognize such formats.

A POSIX-conforming variant of inet_aton, the inet_pton function, supports only the four-decimal variant of IP addresses.

IP addresses in dot-decimal notation are also presented in CIDR notation, in which the IP address is suffixed with a slash and a number, used to specify the length of the associated routing prefix. For example, 127.0.0.1/8 specifies that the IP address has an eight-bit routing prefix, and therefore the subnet mask 255.0.0.0.

OIDs
Object identifiers use a style of dot-decimal notation to represent an arbitrarily deep hierarchy of objects identified by decimal numbers. They may also use textual words separated by dots, like some computer languages (see inheritance).

Version numbers
Software releases are often given version numbers in dot-decimal notation, with the first digit designating major revisions and the smaller ones progressively more minor releases. Version numbers with a leading zero, say "0.1.8", conventionally indicate that the software is still in beta and does not yet have complete features.

Libraries
Libraries use notation systems consisting of decimal numbers separated by dots, such as the older Dewey Decimal Classification and the Universal Decimal Classification, to classify books and other works by subject. The UDC additionally codes works with multiple dot-decimal topics, separated by colons.

Texts
Dot-decimal notation is often used for sections within a large text. This was standardized in ISO 2145.

Medicine
Dot-decimal notation is also used to describe illnesses in a language-neutral way. For instance, the AO Foundation/Orthopaedic Trauma Association (AO/OTA) classification generates numeric codes for describing broken toes. They run 88[meaning a fracture of the phalanges].[number-code of toe, with the big toe=1 and the little toe=5].[number-code of phalanx, counting 1-3 outwards from the foot].[number-code of location on the bone, with 1 being the inner end, 3 the outer, and 2 in-between]. So, for instance, 88.5.3.2 means a fracture to the little toe's outermost bone, in the center. There are other classifications for other fractures and dislocations.