Quantcast
Channel: Active questions tagged gcc - Stack Overflow
Viewing all articles
Browse latest Browse all 22202

Issue with absolute value of 64 bit integer

$
0
0

This C code tries to find the absolute value of a negative number but the output also is negative. Can anyone tell me how to overcome this?

#include <stdio.h>#include <stdint.h>#include <stdlib.h>#include <inttypes.h>int main() {    int64_t a = 0x8000000000000000;    a = llabs(a);    printf("%" PRId64 "\n", a);    return 0;}

Output

-9223372036854775808

UPDATE:

Thanks for all your answers. I understand that this is a non-standard value and that is why I am unable to perform an absolute operation on it. However, I did encounter this in an actual codebase that is a Genetic Programming simulation. The "organisms" in this do not know about the C standard and insist on generating this value :) Can anyone tell me an efficient way of working around this? Thanks again.


Viewing all articles
Browse latest Browse all 22202

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>