|
dev.gamez.lv Latvian Game Developers Community
|
View previous topic :: View next topic |
Author |
Message |
elvman Indago Uzvarētājs
Joined: 09 Apr 2003 Posts: 1278 Location: Kuldiga
|
Posted: Sat Jul 23, 2005 8:56 am Post subject: 32 biti vai 64? |
|
Man te viens jautaajums uzradaas. Cik biju lasiijis, tad 32 bitu procesori var straadaat (t. i. rakstiit un dzeest no operatiivaas atminjas) ar 32 bitu (4 baiti) un mazaakiem mainiigajiem.
Bet kaa tas naakas, ka double un __int64 ir 64 bitu mainiigie, bet 32 bitu procesori straada ar tiem bez probleemaam.
P.S. Shis posts ir reizee arii kaa tests, vai forums straadaa aarzemees - straadaa ideaali - ir visas garumziimes un ar ielogoshanus utt. nebija nekaadas probleemas. Es tagad atrodos Ukrainaa! _________________ long time; /* know C */ |
|
Back to top |
|
|
Guest
|
Posted: Sat Jul 23, 2005 9:47 am Post subject: |
|
Neredzu tev nekādas garumzīmes te... |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Sat Jul 23, 2005 10:04 am Post subject: |
|
double vispār nav vesels skaitlis, un to neapstrādā CPU ar parastiem aritmētiskiem līdzekļiem, bet gan uztic apstrādei FPU (floating-point-unit), kurš darbojās ar float/double/long double. Un tur jau ir citas komandas nekā integeriem. Iekšēji FPU strādā ar 80-bitu reģistriem (long double), tie float/double ierakstot/nolasot uz/no FPU reģistriem tiek automātiski konvertēti uz long double.
A par int64 - vienkārši darbojās pa daļām, piem saskaitīšana: (a*2^32+b) + (c*2^32+d) = (a+b)*2^32 + (b+d) utt (kur a,b,c,d=0..2^32-1). Nekādi īpašie brīnumi jau nenotiek. Nokompilējot programmu vari mēģināt paskatīties mašīnkomandu līmenī, kas ir sanācis, tad arī visu redzēsi.
Konamis: iespējams ka šis domāja, ka var redzēt citu rakstītās garumzīmes. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|