"Bertel Lund Hansen" <nospamto@lundhansen.dk> wrote in message
news:s4d7gtct9jplfj3698fj61ikne054617kr@sunsite.auc.dk...
> James Olsen skrev:
>
> >> Man *kan* stole på at der udføres en modulo-beregning med den nye
> >> types maksimalværdi.
>
> >Hvis det der betyder det jeg tror så er det ikke sådan det foregår.
>
> Det er ikke helt præcist alligevel, selv om det var det der stod i min
bog.
> Her er den præcise forklaring (ses bedst med fast skrifttype):
>
> Binært:
> long 0010 1011 0101 1110 1111 1000 1110 0101 0101 0100 1010 1010
1001 0101 1111 0110
> int 0101 0100 1010 1010 1001 0101 1111 0110
> ^
> Hexadecimalt:
>
> long: 2B 5E F8 E5 54 AA 95 F6
> int: 54 AA 95 F6
>
> Decimalt:
> long: 8'889'816'378'327'602'678
> int 1'420'465'654
>
> De andre numeriske typer opfører sig på lignende måde.
>
> Man skal være forsigtig med om der dukker negative tal op.
> Jeg bruger samme eksempel, men ændrer den markerede bit til 1:
>
> Binært:
> long 0010 1011 0101 1110 1111 1000 1110 0101 1101 0100 1010 1010
1001 0101 1111 0110
> int 1101 0100 1010 1010 1001 0101 1111 0110
> ^
> Hexadecimalt:
>
> long: 2B 5E F8 E5 D4 AA 95 F6
> int: D4 AA 95 F6
>
> Decimalt:
> long: 8'889'816'380'475'086'326
> int -727'017'994
>
> Det skyldes at den mestbetydende bit er fortegnsbit.
>
Tak, jeg skulle bare lige have verificeret at jeg ikke havde regnet galt
selv og at det ikke havde noget med modulus at gøre ;)
> --
> Bertel
>
http://lundhansen.dk/bertel/ FIDUSO:
http://fiduso.dk/