Две странных победы: оппоненты, в обоих случаях, сами довольно осознанно сдали ладью – там не было "вилки", можно было спокойно уйти и так далее, но через несколько ходов после этого они сдались. Там где я белыми, вероятно был план "пролезть" ферзём за рокировку, но что-то пошло не так
#flood #today #chess
#flood #today #chess
Не надо плавать
Часть 2
Поскольку код вышел на Хабре, и более-того, комментаторы и я сам нашли довольно большое количество ошибок и переусложненных моментов, хотелось бы тут остановиться ещё раз на идее.
В языке C++ есть типы double и float, реализованные в соответствии со стандартом IEEE-754.
Знаменитая картинка из Википедии говорит о том, что мы храним отдельно знак, степень 2ки (экспоненту), и мантиссу – считай наши двоичные цифры. Тут хочется напомнить, что целые либо беззнаковые числа хранятся абсолютно иначе: нет ни отдельно знака, ни степени, по сути, хранится только само число.
Смысл статьи на Хабре и потуг предыдущего поста состоит в том, что можно взять целое число произвольного размера (но из тех, что нативно поддерживается компилятором) и сказать, что теперь я трактую n правых разрядов как значение идущее после точки – дробную часть числа, а остальные разряды как левую часть числа, вот пример для 8 битного числа где 2 младших разряда я отдаю под дробную часть 0000 1101, это тоже самое что 11.01 (2) = 3.25 (10) .
Соответственно, написанный код – всего лишь является отражением этой идеи.
#today #IT #c_plus_plus #math #habr #ToBeContinued
Часть 2
Поскольку код вышел на Хабре, и более-того, комментаторы и я сам нашли довольно большое количество ошибок и переусложненных моментов, хотелось бы тут остановиться ещё раз на идее.
В языке C++ есть типы double и float, реализованные в соответствии со стандартом IEEE-754.
Знаменитая картинка из Википедии говорит о том, что мы храним отдельно знак, степень 2ки (экспоненту), и мантиссу – считай наши двоичные цифры. Тут хочется напомнить, что целые либо беззнаковые числа хранятся абсолютно иначе: нет ни отдельно знака, ни степени, по сути, хранится только само число.
Смысл статьи на Хабре и потуг предыдущего поста состоит в том, что можно взять целое число произвольного размера (но из тех, что нативно поддерживается компилятором) и сказать, что теперь я трактую n правых разрядов как значение идущее после точки – дробную часть числа, а остальные разряды как левую часть числа, вот пример для 8 битного числа где 2 младших разряда я отдаю под дробную часть 0000 1101, это тоже самое что 11.01 (2) = 3.25 (10) .
Соответственно, написанный код – всего лишь является отражением этой идеи.
#today #IT #c_plus_plus #math #habr #ToBeContinued
👍1
👍1🥰1
Понедельник – день тяжёлый
И что б совсем не расслабляться – я опубликовал вторую часть стать о всем уже надоевшим числах с фиксированной точкой на Хабре
#today #IT #habr #c_plus_plus #flood #Monday
И что б совсем не расслабляться – я опубликовал вторую часть стать о всем уже надоевшим числах с фиксированной точкой на Хабре
#today #IT #habr #c_plus_plus #flood #Monday
Хабр
Имплементация чисел с фиксированной точкой (часть 2)
Итак, в прошлый раз я представил базовую идею как можно реализовать Fixed-point arithmetic , а так же набросок кода на C++, в котором в комментариях нашли довольно много проблем (а я сам нашёл ещё...
🔥1
Мысли в слух
По итогам публикации на Хабре в комментариях подкинули пищу для размышлений, наверное, наиболее интересная из них сделать нормальный Decimal ориентированный именно на 10тичные дроби (арифметику), в целом.
Как я уже упоминал, я делал нечто подобное на работе, но сложно то решение признать полноценным - на работу с гигантскими суммами оно не было ориентировано - ну что ж, соориентируем
#flood #today #habr
По итогам публикации на Хабре в комментариях подкинули пищу для размышлений, наверное, наиболее интересная из них сделать нормальный Decimal ориентированный именно на 10тичные дроби (арифметику), в целом.
Как я уже упоминал, я делал нечто подобное на работе, но сложно то решение признать полноценным - на работу с гигантскими суммами оно не было ориентировано - ну что ж, соориентируем
#flood #today #habr
Хабр
Имплементация чисел с фиксированной точкой (часть 2)
Итак, в прошлый раз я представил базовую идею как можно реализовать Fixed-point arithmetic , а так же набросок кода на C++, в котором в комментариях нашли довольно много проблем (а я сам нашёл ещё...
Как делить не деля
https://habr.com/ru/articles/833470/ В этот раз написание статьи оказалось даже более трудоёмким делом чем до этого – сказались объём и сложность изучаемых материалов, некоторое супер простое введение на канале напишу попозже
#today #habr #c_plus_plus
https://habr.com/ru/articles/833470/ В этот раз написание статьи оказалось даже более трудоёмким делом чем до этого – сказались объём и сложность изучаемых материалов, некоторое супер простое введение на канале напишу попозже
#today #habr #c_plus_plus
Хабр
Как поделить не деля или оптимизация деления компиляторам(и)
Если вы никогда не пробовали смотреть как код на C++ разворачивается компилятором в код Assembly – вас ждёт много сюрпризов, причём, не нужно смотреть какой-то замудренный исходный код полный...
👍1
Forwarded from Библиотека C/C++ разработчика
Как поделить не деля или оптимизация деления компиляторам(и)
Если вы никогда не пробовали смотреть как код на C++ разворачивается компилятором в код Assembly – вас ждёт много сюрпризов, причём, не нужно смотреть какой-то замудренный исходный код полный templates или других сложных конструкций: рассмотрите следующий snippet:
https://habr.com/ru/articles/833470/
#cpp #programming
👉 @cpp_lib
Если вы никогда не пробовали смотреть как код на C++ разворачивается компилятором в код Assembly – вас ждёт много сюрпризов, причём, не нужно смотреть какой-то замудренный исходный код полный templates или других сложных конструкций: рассмотрите следующий snippet:
uint8_t div10(uint8_t x)
{
return x/10;
}
https://habr.com/ru/articles/833470/
#cpp #programming
👉 @cpp_lib
Немного о смешном: вот эта партия вышла очень забавной. Манеру оппонента лучше всего характеризуют слова: "безумие и отвага" – в своих попытках зажать меня пешками он проморгал 2 фигуры, хотя потом и смог меня подловить под рокировкой, где я не смог съесть его ладью, отыграв таким образом лёгкую фигуру. Даже проиграв ферзя, он продолжал на что-то надеяться: в итоге я решил, что мне нужно два ферзя – наконец-то после этого он сдался.
#flood #chess #today
#flood #chess #today
👍1
Давно сюда не писал – подготавливал материалы для статьи, и, собственно писал её, тут, как говорится – дьявол в деталях: много хитрых моментов. Статья готова, но выйдет уже в сентябре – это от меня не зависит. С другой стороны, это даёт простор и время для написания следующей. В фоне, не спеша, делаю небольшой рисёрч.
#today #flood #habr #plans
#today #flood #habr #plans
👍1