TGViewer
S0ER S0ER @softwareengineervlog · 10.5K subscribers
Post #2357 11.8K
Попросил DeepSeek сделать таблицу истиности для конъюнкции, используя язык JavaScript и битовые операции, вот что получил:


console.log("Таблица истинности для a && b (битовые операции)");
console.log("a\tb\ta & b");
console.log("---------------");

// Используем битовые операции с числами 0 и 1
for (let a = 0; a <= 1; a++) {
for (let b = 0; b <= 1; b++) {
// Битовая операция И
const result = a & b;
console.log(`${a}\t${b}\t${result}`);
}
}


На собесах, идея использования вложенных циклов - это самое популярное решение. Тем временем мне больше нравится такой вариант:


for(let i = 0; i < 4; i++) {
const a = i & 1;
const b = i >> 1 & 1;
console.log(`\t${a} & ${b} = ${a && b} (${Number(!(!a || !b)}))`);
}


Здесь я добавил иллюстрацию закона Де Моргана, пока не обращайте на него внимание.

Интересно, что многие программисты жалуются на излишнюю сложность второго варианта, мол нет насмотренности на битовые операци, сложно быстро понять код.

В целом с булевой алгеброй тоже возникают сложности, часто люди не могут применить закон Де Моргана, чтобы упростить свои условия. Я, конечно, по-стариковски думаю "Да, были люди в наше время, Не то, что нынешнее племя", но понимаю, что код должен быть понятен всем участникам проекта и первый вариант имеет в этом смысле явное преимущество, но при этом я хотел бы работать с ребятами, которые легко читают второй вариант, в целом это будет совсем другой "средний уровень команды".

Поэтому, интересно ваше мнение какой из двух вариантов кода вам нравится больше и почему? Пишите в комментариях 👇👇👇
  • 👎 84
  • 👍 19
  • ❤ 10
  • 😁 3
  • 👀 1
More from @softwareengineervlog
  1. Sep 3, 2026Google выпустила Gemini 3.8 Flash — новая быстрая модель уже обходит гигантов в кодинге. П…
  2. Sep 3, 2026Сейчас использую DeesSeek v4 Flash, на готовой кодовой базе решать стандартные таски из тр…
  3. Aug 6, 2026Полезное: разраб сделал интерактивный мануал, который по шагам показывает, что происходит…
  4. Aug 5, 2026Ты ненастоящий программист! Это происходит снова и снова, и каждый раз одинаково. Я начал…
  5. Jul 27, 2026Внимание, скам! Появился бот который выдает себя за бота моего канала. Я НИЧЕГО ЧЕРЕЗ БОТО…
  6. Jul 25, 2026У Сбера есть интересный whitepaper где он описывает технологию разработки продукта с помощ…
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 →