# Unsigned int fun

**URL:** <https://forum.kirupa.com/t/unsigned-int-fun/256109>\
**Category:** flash\
**Created:** [March 30, 2008, 9:12pm UTC](https://forum.kirupa.com/t/unsigned-int-fun/256109 "2008-03-30T21:12:38Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![darknean](https://avatars.discourse-cdn.com/v4/letter/d/bb73d2/32.png) [@darknean](https://forum.kirupa.com/u/darknean)\
**Post date:** [March 30, 2008, 9:12pm UTC](https://forum.kirupa.com/t/unsigned-int-fun/256109/1 "2008-03-30T21:12:38Z")

</div>

Hi there,

I was doing a common task today involving incrementing and decrementing an array index. I found something interesting. I would like to know more about what is happening exactly. Here’s a sample reproducing the “issue”:

```auto

var i:uint = 0;
if(--i > 0) {
    i = 0;
    trace("Was processed before the condition check. i =", i);
} else {
    trace("Was processed after the condition check. i =", i);
}

```

And the console says:

```auto

Was processed after the condition check. i = 4294967295

```

At first I thought that index **i** would be decremented before the condition **i \> 0** , but this isn’t the case here. Any explanations? I know why the value is now 4294967295, but I’m not certain why that value wasn’t assigned to **i** before the condition was made.

Thank you.
