Size: a a a

2021 July 07

s

std::slavik in supapro.cxx
в калькуляторе виндовс есть режим "погромист"
источник

s

std::slavik in supapro.cxx
там вводите в двоичной системе нужную маску и смотрите в шестнадцатеричной, если переводить в уме не умеете
источник

s

std::slavik in supapro.cxx
можно еще так писать
if ((b & 0b11111111110000000000000000000000) == 0)
источник

AS

Anatoly Shirokov in supapro.cxx
Здесь тоже можно использовать разделитель разрядов для улучшения читаемости
источник

s

std::slavik in supapro.cxx
0b1111'1111'1100'0000'0000'0000'0000'0000
источник

AS

Anatoly Shirokov in supapro.cxx
Угу
источник

s

std::slavik in supapro.cxx
вот так типа
источник

K

Kirill in supapro.cxx
0b1111111111 << 22
источник

SA

Sergey Anisimov in supapro.cxx
UdB же потенциальное. Знаковый overflow.
источник

DP

Denis Paukaev in supapro.cxx
так уже нет вроде
источник

SA

Sergey Anisimov in supapro.cxx
Да, действительно, с двадцатого стандарта все стало значительно безопаснее:
The value of a << b is the unique value congruent to a * 2b
modulo 2N
where N is the number of bits in the return type (that is, bitwise left shift is performed and the bits that get shifted out of the destination type are discarded).

против предыдущего
For signed and non-negative a, if a * 2b
is representable in the unsigned version of the return type, then that value, converted to signed, is the value of a << b (this makes it legal to create INT_MIN as 1<<31); otherwise the behavior is undefined.

Спасибо за информацию.
источник
2021 July 08

IZ

Ilia Zviagin in supapro.cxx
Есть ответ.
Но он тебе не понравится.
источник

O

Ofee in supapro.cxx
Примерно по той же причине, почему 1/3 записывается как 0,33...333...
источник

s

std::slavik in supapro.cxx
есть - плавающая точка
источник

D

Danya in supapro.cxx
Добавляю поддержку std::hash
1. Специализация: https://github.com/unterumarmung/fixed_string/blob/add-hash-support/include/fixed_string.hpp#L600-L611

2. Использование: https://github.com/unterumarmung/fixed_string/blob/add-hash-support/test/test.cpp#L580

3. Падает: https://github.com/unterumarmung/fixed_string/pull/9/checks?check_run_id=3013200502

Следовательно вопрос: что я делаю не так?
источник

IZ

Ilia Zviagin in supapro.cxx
Всё, я — спать!
источник

D

Danya in supapro.cxx
@oficsu @lazerate я верю что вы скажете, что я делаю не так
источник

NK

Nikolay Kononov in supapro.cxx
Да, 0.1 и 0.2 в двоичной системе бесконечные периодические дроби (а у тебя все в двоичной системе в компудахтере) поэтому при сложении получаешь бесконечную двоичная дробь что в десятичной неправильно аппроксимируется, а вообще читай про IEEE 754
источник

s

std::slavik in supapro.cxx
и что
источник

S

Shurick in supapro.cxx
с++ 17 уже сомнения
источник