Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #168585

Re: Increment/decrement a variable with a maximum

From Tim Rentsch <tr.17687@z991.linuxsc.com>
Newsgroups comp.lang.c
Subject Re: Increment/decrement a variable with a maximum
Date 2022-12-18 16:41 -0800
Organization A noiseless patient Spider
Message-ID <86a63k2pjp.fsf@linuxsc.com> (permalink)
References <tno602$2cj2$1@dont-email.me>

Show all headers | View raw


pozz <pozzugno@gmail.com> writes:

> Suppose you have two uint32_t variables (a and b) that you want to add
> together and another uint32_t variable (max) that is the maximum that
> the result could assume.  A silly code could be:
>
>   a += b;
>   if (a > max) {
>     a = max;
>   }
>
> Of course, this doesn't work well for every values of a, b and max.
>
> For example, for a=0xFFFF'FFFC, b=10 and max=0xFFFF'FFFE.
>
>
> Could you suggest a better method?  [...]

    a =   max > a  &&  max - a > b   ? a + b   : max;

> And for decrement?

After seeing the expression for increment, exercise for the
reader.

Back to comp.lang.c | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Increment/decrement a variable with a maximum pozz <pozzugno@gmail.com> - 2022-12-18 23:59 +0100
  Re: Increment/decrement a variable with a maximum Siri Cruise <chine.bleu@yahoo.com> - 2022-12-18 15:07 -0800
  Re: Increment/decrement a variable with a maximum Richard Damon <Richard@Damon-Family.org> - 2022-12-18 19:25 -0500
  Re: Increment/decrement a variable with a maximum Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-12-18 16:41 -0800
  Re: Increment/decrement a variable with a maximum antispam@math.uni.wroc.pl - 2022-12-19 14:39 +0000
  Re: Increment/decrement a variable with a maximum Kaz Kylheku <864-117-4973@kylheku.com> - 2022-12-20 13:44 +0000
    Re: Increment/decrement a variable with a maximum Kaz Kylheku <864-117-4973@kylheku.com> - 2022-12-20 13:54 +0000
    Re: Increment/decrement a variable with a maximum Jame O' Brian <invalid@gmail.com> - 2022-12-20 18:12 +0000
      Re: Increment/decrement a variable with a maximum Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2022-12-20 18:21 +0000
      Re: Increment/decrement a variable with a maximum "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2022-12-20 12:52 -0800
        Re: Increment/decrement a variable with a maximum Öö Tiib <ootiib@hot.ee> - 2022-12-23 05:21 -0800
          Re: Increment/decrement a variable with a maximum "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2022-12-23 13:53 -0800

csiph-web