Thanks to visit codestin.com
Credit goes to lib.rs

2 stable releases

Uses new Rust 2024

1.1.0 Oct 29, 2025
1.0.0 Oct 25, 2025

#470 in Embedded development


Used in avr-q

MIT/Apache

51KB
1K SLoC

24 bit integer arithmetic for AVR

This library provides a 24-bit signed integer type, Int24, for Rust. It is designed for use on AVR microcontrollers.

Features

  • 24-bit signed integer type (Int24)
  • Saturating arithmetic operations: addition, subtraction, multiplication, division
  • Bitwise operations: shift left, shift right
  • Specialized operations: Shift left and then divide
  • Comparison operations
  • Conversions to and from i16 and i32
  • Most operations are const or have a const variant
  • All operations are highly optimized for speed and code size

Usage

To use the Int24 type, add avr-int24 as a dependency to your Cargo.toml

[dependencies]
avr-int24 = "1"

and then use it in your code:

use avr_int24::Int24;

let a = Int24::from_i16(30000);
let b = Int24::from_i16(10000);

let c = a + b;

assert_eq!(c.to_i32(), 40000);

Rust compiler

AVR inline assembly is not yet stabilized. Therefore, a nightly Rust compiler is required.

No runtime deps