Page 5 of 15

Re: IAR вопросик

PostPosted: 20 Sep 2012, 06:13
by KOE
Однако куча народу пользует char и unsigned char для хранения 8-битных чисел.

Re: IAR вопросик

PostPosted: 20 Sep 2012, 10:33
by TS-Labs
lvd wrote:ах вот оно что

спасибо за вашу бдительность. Бдите еще!

Re: IAR вопросик

PostPosted: 20 Sep 2012, 12:22
by lvd
KOE wrote:Однако куча народу пользует char и unsigned char для хранения 8-битных чисел.

А фк0 не использует!

Re: IAR вопросик

PostPosted: 21 Sep 2012, 04:54
by jdigreze
lvd wrote:А фк0 не использует!
Просто фк0 апологет кроссплатформенности, что по крайней мере в теории неплохо. Ну а жизнь, она такая бывает разная.

Re: IAR вопросик

PostPosted: 21 Sep 2012, 05:01
by DimkaM
На восьмибитных процах чары экономят кучу байтов на операциях, по сравнению с интами

Re: IAR вопросик

PostPosted: 21 Sep 2012, 10:24
by lvd
фк0, ящитаю, фигнёй страдает. Если вдруг чар не байт по причине что байтов нет, то и его int8_t тоже не будет, потому можно смело хранить байты в чарах, при необходимости вспоминая, что чар может быть и шире байта.

Re: IAR вопросик

PostPosted: 21 Sep 2012, 16:20
by deathsoft
lvd wrote:фк0, ящитаю, фигнёй страдает.

Могут быть системы где есть байты, а чар не 8бит, а например 16, чар не обязан быть 8 битным, для этого и есть uint8_t.
(Как там алонекодер говорил про тех кто через #3D2F програмирует?, вот по поводу чаров - тоже самое)
(p.s. для тех кто не видел, [url]http://говнофорум.сру/showpost.php?p=475252&postcount=50[/url])

Re: IAR вопросик

PostPosted: 25 Sep 2012, 18:21
by KOE
deathsoft wrote:Могут быть системы где есть байты, а чар не 8бит, а например 16, чар не обязан быть 8 битным, для этого и есть uint8_t.

Тогда объясните наличие signed/unsigned char. Если это буква, то зачем ей знак?

Re: IAR вопросик

PostPosted: 25 Sep 2012, 18:42
by deathsoft
KOE wrote:Тогда объясните наличие signed/unsigned char. Если это буква, то зачем ей знак?

Буква это просто char (у этого типа про знак ничего не говорится, один компилятор может использовать под char знаковый тип, другой беззнаковый), а в signed и unsigned char числа хранить можно, собственно через них и определяется uint8_t.
Болеее подробно об истории вопроса можешь почитать тут http://www.trilithium.com/johan/2005/01/char-types/

In the ANSI C Draft Standard, the keyword signed was added, introducing a signed char type for all platforms. The new keyword solved the problem of not being able to use signed char portably, but at this point the standard committee could not mandate plain char to be signed. It would break a lot of code and upset vendors as well as users.

The compromise was to make signed char a type distinct from the two existing character types, while requiring char to have the same representation and values as either signed char or unsigned char. In other words, a char must look exactly like a signed char or unsigned char to the hardware; which one is implementation-defined. C++ later adopted this compromise for compatibility with C, so both languages now have three distinct char types.

Re: IAR вопросик

PostPosted: 26 Sep 2012, 08:47
by lvd
deathsoft wrote:Могут быть системы где есть байты, а чар не 8бит, а например 16, чар не обязан быть 8 битным, для этого и есть uint8_t.

покажи