Tema: Re: Java guru gelbekit: c -> java
Autorius: Jornada Del Muerto
Data: 2011-05-31 16:34:50
    Vyriausias DWORD (Int32) bitas paprastai nurodo zenkla, ta prasme ar tai neigiamas ar teigiamas skaicius (jei sis bitas ijungtas tai neigiamas), del to mazeja 1 bitu skaiciaus talpa ir su signed tipais atvejais kada kishama informacija atitinka maske 0x8* visada bus bedos, o unsigned ner tiesiog zenklo ir sis bitas buna skaiciaus dalimi, del to elementariai didesni tipa naudoji ir viskas.

char => short
short => int32
int32 => int64

     Kita vertus pasiziureti programos biznio logika reikia tas 0xF* gal visai ner butinas + jei ta reiksme duodama kazkokiam hardwarui tai sutraktuos taip kaip jame numatyta, o ne taip kaip javoj.

    P.S. Priklausomai nuo platformos (32, 64 bit) int bus atitinkamai bitu tipas, o paprastai procesorius buna optimizuotas labiau darbui su savo int jei tai 32bit, tai su 32 bit.

    Paprastai sakant, operuojama visada bus greiciau su savo native int tipu nei su kitu tipu, pvz. ciklai:

    A. for (short a = 0; a<100;a++)

    B. for(int a = 0; a<100; a++)

    B variantas - veiks greiciau nes 32bit platformai reikes maziau procesoriaus taktu dirbt su 32Bit reiksme nei su kokiu nors WORD (16bit) nes word atveju dar papildomi taktai naudosis is In32 paiminejant In16 (short/ word).

    Del to jeigu tai sena c programele kur kazkas atminties taupumo sumetimais naudojo kokius nors short pvz. cikluose ar kaip kitus indeksus - juos pakeitus i int veiks greiciau kazkiek, del to pvz Win32 net ir Bool reiksme yra Int32, nors BOOL reiksmei pakanka 1 bito, tiesiog procesorius zemame lygyje imtu vistiek Int32 ir poto papildomi CPU taktai eiktu is to In32 paimti ta 1 bita, del to niekas nesicackina su tuo ir del to Int64 sistemose ryjama daugiau ramo, jei paziurejus tai tai bus atitinkami pointeriai, boolai ir indeksai, kuriu tiesiog talpa padideja 2x.

JDM.


"DGS" <dgs@takas.lt> wrote in message news:is2jck$8l2$1@trimpas.omnitel.net...
> Jau pradejo gautis :) Kazka kazkur negerai buvau suveles su (0xFF & ...). 
> Siandien gerai issimiegojes ta funkcija is naujo konvertinau ir uzdirbo 
> viskas :) Neveltui sakoma, kad Rytas protingesnis uz kelis vakarus su google 
> :D
> 
> "Jornada Del Muerto"  parašė naujienų 
> news:is2i59$6e0$1@trimpas.omnitel.net...
> 
> Nu ja naudoji didesni kintamaji, kad visas c skaiciaus range tilptu ir 
> viskas.
> 
> 
> "test" <svidma@gmail.com> wrote in message 
> news:is22t3$bhg$1@trimpas.omnitel.net...
>> Is principo cia aiskiau: http://jwinblad.com/resources/unsignedtojava.html
>>
>> "test" <svidma@gmail.com> wrote in message
>> news:is22n0$b8e$1@trimpas.omnitel.net...
>>> Siaip nezinau kaip tu ieskai ant google bet is principo tai nera
>>> sudetinga, bent dummy paasikinimas tarp skirtumu yra cia:
>>> http://www.javamex.com/java_equivalents/unsigned.shtml,
>>> trecia google nuoroda. Siaip is principo naudok ausktesnio tipo kintamaji
>>> ir i ji tau pilnai tilps reikalingos reiksmes.
>>>
>>> "DGS" <dgs@takas.lt> wrote in message
>>> news:is0ush$79d$1@trimpas.omnitel.net...
>>>> Sveiki,
>>>> Neesu didelis Java zinovas, o apsiemes viena tokia programulka is C/C++ 
>>>> I
>>>> Java androidui persikonvertint. Ir turiu bedu su unsigned tipo nebuvimu
>>>> javoje. O sitas reikalas man stipriai kisa koja duomenu nuskaityme.
>>>> Knisuos ir googlinu jau ne viena diena - be rezultato.
>>>> Ar galit kas pakonvertint viena funkcija i java? (jei tai isvis imanoma)
>>>> Prikabinu source failiuka, virs funkcijos yra perduodamu parametru
>>>> aprasas
>>>> ir rezultatas, kuris turi buti gautas.
>>>> Dekui
>>>> DGS
>>>>
>>>
>>>
>>
>> 
>