# 64 bit arithmetic soft fork

**URL:** <https://delvingbitcoin.org/t/64-bit-arithmetic-soft-fork/397>\
**Category:** Protocol Design\
**Tags:** softfork\
**Created:** [January 10, 2024, 3:36pm UTC](https://delvingbitcoin.org/t/64-bit-arithmetic-soft-fork/397 "2024-01-10T15:36:12Z")\
**Posts on this page:** 1\
**Showing post:** 53

<div class="post-metadata">

**Author:** ![ajtowns](https://delvingbitcoin.org/user_avatar/delvingbitcoin.org/ajtowns/32/417_2.png) [@ajtowns](https://delvingbitcoin.org/u/ajtowns)\
**Post date:** [June 20, 2024, 4:25pm UTC](https://delvingbitcoin.org/t/64-bit-arithmetic-soft-fork/397/53 "2024-06-20T16:25:30Z")

</div>

> [@Chris\_Stewart\_5](#):
>
> Perhaps there is a better way to implement this while avoiding using `__int128_t`. I’m open to ideas.

For comparison, crypto/muhash.h uses `__int128_t` conditionally.

Could maybe use `uint64_t absval; bool negated;` instead, with various manual checks to see if things end up out of bounds? Otherwise, just doing a bignum class might make sense (like arith\_uint256).

---

_[View the full topic](https://delvingbitcoin.org/t/64-bit-arithmetic-soft-fork/397)._
