← Back to catalogue
Research draft

integer data type

vr.tr.integer-data-type · XCT.QLT

Let an agent explain integer data types, relay sizes, ranges, representations and language rules from programming references, describe the types the registry aliases name, and distinguish integer types from floating-point types, mathematical integers, enumerations and exit status as a convention, without exploit detail.

Thing Registry Cross-cutting context

Research draft, second pass

A second pass drafted this model: the structure a model of this thing needs, and what is known about it in the world. The line under this one says how the second half was obtained - researched against sources, or recalled without web access, in which case nothing here was read anywhere and every claim is a lead to verify. Unreviewed either way.

written by Claude from model knowledge without web access - no source was read, every claim is a lead to verify

Researched by: Claude

Purpose and description

Let an agent explain integer data types, relay sizes, ranges, representations and language rules from programming references, describe the types the registry aliases name, and distinguish integer types from floating-point types, mathematical integers, enumerations and exit status as a convention, without exploit detail.

A data type representing a range of whole numbers in computing, defined by size and signedness, such as 8, 16, 32, 64 and 128-bit signed and unsigned integers, with language-specific types such as the C int, long and uint32_t, arbitrary-precision integers in some languages, and uses such as process exit status codes stored as small integers; integer overflow and signedness errors are common sources of bugs and vulnerabilities.

What it is for: Representing whole numbers in programs.

It can be explain sizes and signedness; relay language rules; describe named types; distinguish related types.

Distinguishing features

Fixed width or arbitrary

Signed or unsigned

Overflow behaviour

Language-specific

What it looks like

Not a visible object; a type in code.

Physical character

32-bit signed range: -2147483648 to 2147483647 note

64-bit unsigned max: 18446744073709551615 note

representation: usually two s complement note - mandated in C23

How it is recognised

Computer type for whole numbers

32-bit integer, 128-bit signed and unsigned integers, C integer types, exit status

Floating-point types store approximations; mathematical integers are unbounded; enums name values; exit status is a convention using integers

Related models

is a kind of - in registry terms

number data type

is represented using -

two s complement

is contrasted with -

floating-point arithmetic

can suffer -

integer overflow

In practice

Families and kinds

fixed-width signed integers

fixed-width unsigned integers

128-bit integers

C and C++ integer types

arbitrary-precision integers

exit status codes as an integer use

Standards and regulation

ISO C and C++ standards

Language specifications such as Java and Rust

Failure modes and hazards

Integer overflow bugs and vulnerabilities

Signedness conversion errors

Registry alias exit status is a use, not a type

Also called

exit status32-bit integer data type128-bit unsigned integer128-bit signed integerC integer data type128-bit unsigned integer data typeunsigned integer data typesigned integer data typeshort intbig integer64-bit integer32-bit unsigned integer64-bit unsigned integer16-bit unsigned integer data type64-bit signed integer

Where this came from

wikidata · CC0 1.0

Drafted structure

Bundle to layer to finding to question, as the second pass will find it: 4 bundles · 8 layers · 8 findings · 16 questions.

Understand What an integer data type is.

Definition.

Definition

Definition.

Definition

Definition.

  1. What is an integer data type, and how does it differ from floating-point types, mathematical integers, enums and exit status? definition
  2. Is the question about a language, a size, overflow or security, answered without exploit detail? boundary

Types

Named types.

Types

Types.

  1. What are 32-bit, 128-bit signed and unsigned and C integer types, and what is an exit status? definition
  2. Which entry fits the specific type? action
Representation Representation.

Science.

Binary

Binary representation.

Binary

Binary.

  1. How are integers represented with two s complement and endianness? provenance
  2. Which references are standard? provenance

Ranges

Ranges.

Ranges

Ranges.

  1. How are ranges computed from bit width and signedness? provenance
  2. Which sources are cited? provenance
Practice Practice.

Application.

Languages

Languages.

Languages

Languages.

  1. How do C, Java, Python and Rust define integer types? provenance
  2. Which entry fits C data types? action

Bugs

Overflow and safety.

Bugs

Bugs.

  1. Why do integer overflows cause bugs, and how do languages mitigate them, at a general level? provenance
  2. Which entry fits integer overflow? action
Context Conventions and history.

Context.

Exit status

Exit status.

Exit status

Exit status.

  1. What are process exit status codes and their conventions? provenance
  2. Which entry fits exit status? action

History

History.

History

History.

  1. How did word sizes evolve from 8-bit to 64-bit computers? provenance
  2. Which entry fits word (computer architecture)? action

What the second pass must settle

  • Should 128-bit integer be a separate entry?
  • How should programming references be linked?
  • The registry alias exit status names a convention; should it be split off?