Size: a a a

2021 March 02

D

Danya in supapro.cxx
Nastya Medveda
ну то есть работа с битиками, типа эмуляция всяких триггеров, счетчиков всей байды. Но вот зачем то они добавили безымянную переменную к  которой нельзя обратиться в это поле. Видимо, чтоб можно было вывести все поле с правильным сдвигом битов.
Ну это очень редкий кейс
источник

D

Danya in supapro.cxx
Такая работа с битиками
источник

CD

Constantine Drozdov in supapro.cxx
Nastya Medveda
Скажиет как вывести все битовое поле сразу?
В битовых полях и в Прате и в cppreference есть примеры неиспользуемых битов.
Но ведь неиспользуемые биты нужны только если есть возможность вывести все битовое поле. А этого ни в примере ни в cppreference нет.
struct torgle_register
{
   unsigned int SN : 4; // 4 bits for SN value
   unsigned int: 4;    // 4 bits unused
   bool goodIn : 1;
   bool goodTorgle : 1;
};
В общем, это история про интерпретацию данных (обратите внимание, что вся структура это байт)
typedef struct tag_SCRIPT_LOGATTR {
   BYTE    fSoftBreak      :1;     // Potential linebreak point
   BYTE    fWhiteSpace     :1;     // A unicode whitespace character, except NBSP, ZWNBSP
   BYTE    fCharStop       :1;     // Valid cursor position (for left/right arrow)
   BYTE    fWordStop       :1;     // Valid cursor position (for ctrl + left/right arrow)
   BYTE    fInvalid        :1;     // Invalid character sequence
   BYTE    fReserved       :3;
} SCRIPT_LOGATTR;
источник

D

Danya in supapro.cxx
Короче, я бы не забивал голову этим
источник

D

Danya in supapro.cxx
Danya
Почему же нет?)
источник

ID

In Dev in supapro.cxx
Constantine Drozdov
В общем, это история про интерпретацию данных (обратите внимание, что вся структура это байт)
typedef struct tag_SCRIPT_LOGATTR {
   BYTE    fSoftBreak      :1;     // Potential linebreak point
   BYTE    fWhiteSpace     :1;     // A unicode whitespace character, except NBSP, ZWNBSP
   BYTE    fCharStop       :1;     // Valid cursor position (for left/right arrow)
   BYTE    fWordStop       :1;     // Valid cursor position (for ctrl + left/right arrow)
   BYTE    fInvalid        :1;     // Invalid character sequence
   BYTE    fReserved       :3;
} SCRIPT_LOGATTR;
Ох это что-то из винапи, зуб даю
источник

NM

Nastya Medveda in supapro.cxx
Danya
Короче, я бы не забивал голову этим
у меня ародуинка валяется и я хочу в ней битики подвигать. Битовые поля самое оно.
источник

ID

In Dev in supapro.cxx
Nastya Medveda
у меня ародуинка валяется и я хочу в ней битики подвигать. Битовые поля самое оно.
Есть битовые сдвиги и другие битовые операции, в 90% случаев вам нужны именно они
источник

ID

In Dev in supapro.cxx
Lil SV
Помогите пожалуйста.
Есть ли метод, который первое вхождение подстроки в строку заменяет на другую подстроку?
Пытался через std::replace но не судьба.
Писать свою функцию не очень
Есть например std::regex_replace, но имхо это оверкил
источник

CD

Constantine Drozdov in supapro.cxx
Nastya Medveda
у меня ародуинка валяется и я хочу в ней битики подвигать. Битовые поля самое оно.
Если у вас ардуинка упаковывает биты состояния - самое то, да. Чтобы не страдать проверками битов по типу
if (x & CHAR_STOP_BIT)
источник

DK

David Kravets in supapro.cxx
Danya
1. Это наследие Си
Экономия памяти
источник

D

Danya in supapro.cxx
David Kravets
Экономия памяти
Экономия на спичках
источник

ID

In Dev in supapro.cxx
David Kravets
Экономия памяти
Вот и не правда, не будет там экономии
источник

CD

Constantine Drozdov in supapro.cxx
Danya
Экономия на спичках
Ну если асимптотический логарифм это спички, тебе на хаскель :)
источник

LS

Lil SV in supapro.cxx
In Dev
Есть например std::regex_replace, но имхо это оверкил
Пасиба
источник

ID

In Dev in supapro.cxx
Lil SV
Пасиба
Про оверкил видели?)
источник

D

Danya in supapro.cxx
Constantine Drozdov
Ну если асимптотический логарифм это спички, тебе на хаскель :)
Как битовые поля с логарифмом связаны?
источник

NM

Nastya Medveda in supapro.cxx
Экономия памяти и наследие Си это Unions, с которыми я сейчас разбираюсь и не могу придумать ни одного применения для них.
Зачем они вообще?
источник

CD

Constantine Drozdov in supapro.cxx
Danya
Как битовые поля с логарифмом связаны?
Длина машинного слова не меньше логарифма длины данных :)
источник

D

Danya in supapro.cxx
Nastya Medveda
Экономия памяти и наследие Си это Unions, с которыми я сейчас разбираюсь и не могу придумать ни одного применения для них.
Зачем они вообще?
Sum types
источник