TGViewer
Sijeko Tech Sijeko Tech @sijekotech · 914 subscribers
Post #4989 481
Проверка високосности года в три инструкции (битовые хаки, зато быстро):
bool is_leap_year_fast(uint32_t y) {
return ((y * 1073750999) & 3221352463) <= 126976;
}


Классический подход (читабельно, но медленно):
bool is_leap_year(uint32_t y) {
if ((y % 4) != 0) return false;
if ((y % 100) != 0) return true;
if ((y % 400) == 0) return true;
return false;
}


Объяснение того, как это работает:
https://hueffner.de/falk/blog/a-leap-year-check-in-three-instructions.html

Этот метод уже включили в GCC:
https://github.com/gcc-mirror/gcc/commit/28b1b55c60464da23c65c6a8a9515c29f8d67ad8
hueffner.de A leap year check in three instructions How to test for leap years (until year 102499) in the proleptic Gregorian calendar with just three 32-bit instructions, with detailed explanation of the bit-level tricks.
  • 👍 7
  • 🔥 3
  • ⚡ 1
  • ❤ 1
  • 🤝 1
More from @sijekotech
  1. Sep 26, 2026„Пирдас“ название, канеш, моё почтение.
  2. Sep 25, 2026Короткая философская даже статья о том, как за прошедшее лето ускорилось множество ежеднев…
  3. Sep 23, 2026Как и многие другие нейросети, Альфа-Помощник не может просто взять и заткнуться, независи…
  4. Sep 16, 2026Мегафон, конечно, совсем охуел. Позвонил робот с предложением смены тарифа, я НЕСКОЛЬКО РА…
  5. Sep 14, 2026Сегодня в рубрике #КонтрибьюторНиибаца: 1. Заменяем уродские иксы на нормальный знак × в р…
  6. Sep 13, 2026Искусство выравнивания линий, доступное ещё Древним, было полностью утрачено современникам…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →