Signed/unsigned v C (was Re: arduino - povikendovy povzdech)

Zuffa Jan ZuffaJ na cgc.sk
Pondělí Březen 23 14:37:47 CET 2015


A co takto:

int wirte(char *data, int bytes)
{
    data = data+bytes;
    for(int I = 0; I < bytes; i++)
    {
        posli(*(data--));
    }
}

:)

j.

-----Original Message-----
From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf Of Petr Weissar
Sent: Monday, March 23, 2015 1:49 PM
To: HW-news
Subject: Re: Signed/unsigned v C (was Re: arduino - povikendovy povzdech)

Napadá mne třeba konstrukce:

int write(char *data, int bytes)
{
   int i = bytes;
   do
   {
     i--;
     neco(data[i]);
   } while (i);
   return bytes;
}

Petr

Dne 23. 3. 2015 v 13:33 Ladislav Vaiz napsal(a):
> Jan Waclawek napsal(a):
>> Mimochodom, v
>>
>> write(char* data, int bytes)
>> nevidim dovod pre ten druhy parameter nepouzit typ z <stdint.h>, 
>> alebo (ak silou-mocou niekto chce byt pre-C99-kompatibilny) tak 
>> minimalne unsigned.
>>
>
> No já na něco podobného ohledně unsigned narazil. Řekněme, že data 
> potřebuju někam poslat obráceně. Tak začnu psát:
>
> int write(char *data, int bytes){
>     int i;
>     for (i = bytes - 1; i >= 0; i--){
>         neco(data[i]);
>     }
>     return bytes;
> }
>
> Když budu mít bytes unsigned, tak bude problém s přiřazením do i. Když 
> dám unsigned i, tak bude vždy >= 0 a po přetečení i se asi budu divit.
> Jedině použít hrůzu jako:
>
> unsigned i;
> for (i = bytes; i >0; i--){
>     neco(data[i-1]);
> }
>
> Nebo máte někdo lepší tip jak kombinovat signed/unsigned například při 
> procházení 
> https://developer.gnome.org/glib/stable/glib-Pointer-Arrays.html#GPtrA
> rray
> ? Nejde mi o pole delší než 2^31.
>
> L.
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz Hw-list na list.hw.cz 
> http://list.hw.cz/mailman/listinfo/hw-list
_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz Hw-list na list.hw.cz http://list.hw.cz/mailman/listinfo/hw-list


Další informace o konferenci Hw-list