64bit integer problem?
Warner Losh
imp at bsdimp.com
Tue Sep 18 10:17:44 PDT 2007
From: Michael Reifenberger <mike at Reifenberger.com>
Subject: 64bit integer problem?
Date: Tue, 18 Sep 2007 18:35:04 +0200 (CEST)
> Hi,
>
> on my AVILA-arm board I'm unable to compile lang/perl
>
> On of the problems seems to be related to long long handling:
>
> The following program:
> ##############################
> #include <sys/types.h>
> #include <stdio.h>
> int main() {
> long long q = 12345678901LL;
> printf("%lld\n", q);
> }
> ##############################
>
> gives the output:
> -2315945094416433150
>
> Is there a endian issue?
12345678901 is 0x2DFDC1C35
2315945094416433151 is 0x2023E3CAFFFFFFFF
-2315945094416433150 is therefore 0xdfdc1c3500000000
which the lower 32bits of 'q' shifted over 32 bits.
Maybe this is an endian issue, since I don't see it on my AT91RM9200
based boards (which are little endian).
Warner
More information about the freebsd-arm
mailing list