Compact 16-bit signed integer: audio samples, embedded systems, and sensor data
Bit Layout
A 16-bit integer uses 16 bits to store a whole number. For INT16 (signed), the most significant bit is the sign bit using two's complement. For the unsigned variant, see UINT16.
Overview
16-bit integers are widely used where the range of ±32,767 or 0–65,535 is sufficient and memory conservation matters. They are the short type in C/C++ and Java.
Common Uses
Audio samples: CD-quality audio (16-bit PCM) stores each sample as an INT16, giving 65,536 amplitude levels and ~96 dB dynamic range.
Embedded systems: 16-bit microcontrollers (MSP430, PIC24) use INT16 as their native integer type.
Sensor data: Accelerometers, gyroscopes, and temperature sensors commonly output signed 16-bit readings where negative values represent opposite directions or below-zero temperatures.
Audio connection
When you listen to a CD or most digital audio, each sample is an INT16. The 65,536 possible values give enough resolution that the quantization noise is below human hearing threshold at normal listening levels.
Range & Properties
Key Bit Patterns
Interactive Bit Visualizer
Click any bit to flip it. See both signed and unsigned interpretations.
Format Comparison
Where INT16 Is Used
GPU packed operations: The PTX ISA 9.2 introduces .s16x2 packed types (two signed 16-bit integers in a 32-bit register) with add/sub/min/max and .sat qualifier support.
Audio processing: 16-bit signed PCM is the standard for CD-quality audio (44.1 kHz, 96 dB dynamic range) and most digital audio pipelines.
ML frameworks: PyTorch provides torch.int16 for signed 16-bit tensor storage. The ONNX specification defines INT16 = 5 as a tensor data type.
AMD GPU dot-product: The MLIR AMDGPU dialect supports i16 × i16 → i32 signed dot-product (sdot2) operations on gfx906+ architectures.