it-юмор :: роботы :: капча (CAPTCHA) :: geek (Прикольные гаджеты. Научный, инженерный и айтишный юмор) :: Смешные комиксы (веб-комиксы с юмором и их переводы)

Комиксы роботы капча it-юмор geek 
Смешные комиксы,веб-комиксы с юмором и их переводы,роботы,капча,CAPTCHA,it-юмор,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор
Подробнее

Смешные комиксы,веб-комиксы с юмором и их переводы,роботы,капча,CAPTCHA,it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор
Еще на тему
Развернуть
На всякий случай сохронил
jabia jabia 02.12.202211:35 ответить ссылка 6.3
там должна быть капча с картинками
Meffol Meffol 02.12.202211:41 ответить ссылка -2.1
с QR кодами
int i = 5;
i = ++i + ++i;
Wizuki Wizuki 02.12.202212:12 ответить ссылка 7.6
твоё место за решеткой!
dadv dadv 02.12.202212:22 ответить ссылка 11.0
i += ++i++ + ++i++;
человек, который способен использовать такое в реальной жизни, при этом не иднус, а осознанно готовый к любым последствиям, достоит валгаллы (вариант, что он умрёт не насильственной смертью мы не рассматриваем в виду малых шансов)
В реальной жизни такое не нужно.

Так что достоин он максимум хороших таких пизюлей за нечитабельность кода.
Он даже пиздюлей не получит, так как код не работает.
Zalmand Zalmand 02.12.202213:22 ответить ссылка -0.1
хм...ви таки пгавы. пагдон
i = 13 ?
Хотя не, 14
13 всё же правильно:
int i = 5;
i = ++i + ++i;
13 = 6 + 7
Если не ошибаюсь первым идут операторы ++, потом операторы сложения. Т.е. сначала, 2 раза ++, т.е. i =7 и потом i+i, т.е. 14
Я перепроверил в компиляторе. Сначала дается константа 6 потом она складывается с 6++, то есть 7.
А какой компилятор, если не секрет?
Visual Studio 2022. Писал на C#.
Хм, у меня 2019 и c++. Различие скорее всего из-за плюсов
В С++ это Undefined Behavior - проверка в компиляторе ничего не значит.
https://en.cppreference.com/w/cpp/language/eval_order
Блин я был уверен что они еще в 17х плюсах это пофиксили, но конкретно этот случай ub.
deanon deanon 06.12.202214:14 ответить ссылка 0.0
Для проверки
Sint main()
I {
int i = 5; i = ++i + ++i
ESI Консоль отладки Microsoft Visual Studio
14
F:\visual\test\test\Debug\test.exe (процесс 12264) завершил работу с кодом 0.
coût << i
Нажмите любую клавишу, чтобы закрыть это окно..
Да. Дело в пробелах. Компилятор может забить хуй на пробелы и прокомпилировать i+ ++i как i++ +i
Компилятор разделяет на пробелы по второй схеме.
i+++i == i++ + i
Хотя в такой записи без разницы, как будут распределены пробелы. Так как сначала присваивается значение оператору, потом увеличивается i, которое прибавляется к первому значению. А при i+ ++i к i прибавляется увеличенное на 1 i.
А ничего что это 2 разных языка?
deanon deanon 06.12.202214:13 ответить ссылка 0.0
мало того, что это по разному регламентировано в разных языках, так это может отличаться ещё и в разных компиляторах для одного языка. но 13 самый правильный ответ из всех правильных
Это зависит от языка, коимпилятора, фазы луны...
Копипаста с лурка

"В данном примере происходит неоднократное изменение переменной в пределах одной точки следования, такая ситуация описывается в стандартах C и С++ как UB. Иными словами, даже попытки ответить на этот вопрос иначе как «UB» демонстрируют недостаточную квалификацию отвечающего. Другое дело, что после «UB» можно указать некоторые подробности, и мы этим займёмся, поскольку не утоленное вовремя любопытство приводит к драмам в обсуждении.

Конкретно неопределённость в этой, как некоторым кажется, кристально ясной конструкции в данном случае заключается в том, что, согласно стандартам С и С++, побочные эффекты (то есть инкремент в данном случае) могут быть применены в любой удобный для компилятора момент между двумя точками следования. Конструкцию i = ++i + ++i; компилятор вправе понять и как

tmp=i; tmp++; i = tmp; tmp++; i += tmp;

и как

tmp=i; tmp++; tmp++; i = tmp + tmp;

и какими-нибудь другими способами. Нужна такая свобода для проведения низкоуровневых оптимизаций в обычных случаях типа a = ++b + ++c;, дабы между делом сэкономить пару тактов на халяву.

Хотя, оптимизатор тут вообще не при чём. Дело в том, что наше интуитивное понимание работы этого кода основывается на том, что прединкремент возвращает значение, получившееся после прибавления единицы. На самом же деле любой нормальный прединкремент возвращает не получившееся значение, а ссылку на эту же переменную. Поэтому мы складываем не числа, а две одинаковые ссылки, то есть переменную i саму с собой! Иными словами происходит буквально следующее:

1. Левый ++i прибавляет единицу к i и возвращает ссылку на неё. I = 6.
2. Правый ++i прибавляет ещё одну единицу к i и также возвращает ссылку на неё. I = 7.
3. Оператор сложения разыменовывает ссылки, получая i = i + i. Так как после второго шага I = 7, то извлекается именно это число, давая выражение i = 7 + 7, откуда и получается 14."
Wizuki Wizuki 02.12.202212:52 ответить ссылка 2.1
> даже попытки ответить на этот вопрос иначе как «UB» демонстрируют недостаточную квалификацию отвечающего
Расходимся, роботов среди нас не нашлось...
Язык СИ компилятор gcc, linux ubunta 20.04 64 бит процессор Intel® Core™ i7-10850H CPU @ 2.70GHz × 12

#include

int main ( void )
{
unsigned int i = 1;
i += ++i + ++i;
printf ( "I = %u", i);

return 0;
}
I = 9

Все то же самое, только тип меняем на unsigned char:

#include

int main ( void )
{
unsigned char i = 1;
i += ++i + ++i;
printf ( "I = %u", i);

return 0;
}
I = 8

знатоки помогайте
Xrono Xrono 02.12.202214:36 ответить ссылка -0.6
Помоги себе сам - декомпиль, и посмотри, что там компилятор нагенерил.
И перестань использовать UB в коде.
И что тебя смущает? Ты мог получить ответ 42 и это все равно был бы верный ответ, полностью соответствующий спецификации.
deanon deanon 06.12.202214:16 ответить ссылка 0.0
Зависит от реализации языка(если там есть такая конструкция) и для С - от компилятора. Тащемта, суть в том, сохраняется ли значение первого аргумента где-то в регистре после его вычисления, или же используется то же, что и во втором.
Обычно - сохраняется, и будет 13. Но это не точно.
А если сделать так, то станет ещё интереснее.
int i = 5;
i = ++i + ++i + ++i;
Gidof Gidof 02.12.202212:53 ответить ссылка -0.3
Это способ затеять войну между роботами с прошивкой на разных языках, да?
Wizuki Wizuki 03.12.202209:48 ответить ссылка 0.0
А почему там четвёрка ста квадриллионная? Как допустимая погрешность при расчёте или что? Кэп, помоги.
TaR+ TaR+ 02.12.202211:59 ответить ссылка 1.2
MASTAR MASTAR 02.12.202212:04 ответить ссылка 6.9
Годный канал. Спасибо
Я только вчера этот канал нашла и сегодня вижу на джое. Дурацкий феномен Баадера-Майнхоф
Я только вчера узнал про феномен Баадера-Майнхоф, ёбаный насос
Предлагаю всем вместе собраться и попросить вывести нас из симуляции наконец
Смотри
Ты же в курсе что компы все считают в двоичной системе. Тип 0 = 0, 1 = 1, 2 = 10, 3 = 11, 4 = 100 и тд.
Тут начинается проблема с дробями. 1/2, 1/4 -- это норм, это можно без проблем записать в двоичной системе. А вот когда доходит до 1/10 тут вылезает проблемма, тк мы привыкли считать в десятичной системе и делить соответственно тоже. А там из-за того что комп не может нормально делить на 5, 3, 7 и тд вылазит вот такая незаметная доля.

Сразу прошу прощения за неточности, пытался простым языком объяснить
Вот ссылка если хочется глубже в тему:
https://betterprogramming.pub/why-is-0-1-0-2-not-equal-to-0-3-in-most-programming-languages-99432310d476
иди дальше, человек
там должно быть 2 картинки и задача сгенерировать из них 3ю
MalyarICH MalyarICH 02.12.202212:02 ответить ссылка -1.9
нарисуй
Voot Voot 02.12.202212:12 ответить ссылка 2.0
Квантовый робот?
Metracryg Metracryg 02.12.202212:05 ответить ссылка -2.6
А потом потребуют изуродовать точнейшее вычисление и обрезать до двух знаков после запятой.
Ну так правильно, ибо точнейшее вычисление почти никому не нужно.
Приколы для калькуляторов с не знанием типа decimal
Nigosh Nigosh 02.12.202212:33 ответить ссылка 0.5
это что то на программерском?
Ага, другая капча это:
float i = 2.0;
bool b = (i - 1.0) == 1;
выберите правильный ответ: b = true / false
Nigosh Nigosh 02.12.202213:51 ответить ссылка 0.6
ошибка компиляции
Ну да, нужно явное приведение. А так на удивление выдало true. Думал, что будет false из-за мусора после запятой
Nigosh Nigosh 02.12.202217:29 ответить ссылка 0.5
А я не въехал, откуда там хуй десятых взялся?
Дроби в машинном представлении не десятичные, а двоичные. При преобразовании в десятичную появляется ошибка, которая иногда скрывается операторами вывода, иногда нет.
особенности хранения дробных чисел в памяти компьютера.
Ошибки округления
Рассмотрим дробь 1/10. В десятичной системе счисления эту дробь можно представить, как 0.1. В двоичной системе счисления эта дробь представлена в виде бесконечной последовательности — 0.00011001100110011... Именно из-за подобных разногласий в представлении чисел в разных
реактор познавательный
Mute Mute 03.12.202205:07 ответить ссылка 2.0
Если я ещё что-то помню и понимаю в принципиальных схемах, то это какой-то передатчик. Правда ооооочень корявый и абсолютно не рабочий. Транзистор в обрыве, колебательный контур вообще гдето в воздухе, вместо микрофона розетка IR(?) да и остальное непонятно как и зачем.
Понятно что художник рисовал что-то рандомное с рандомной схемы по принципу "лишь бы было похоже", но что-то смутно похожее на передатчик угадывается.
Судя по наличию в сериале шуток для физиков, знатоков теории относительности, почитателей НФ, и прочих, это тоже была неплохая шутка.
Mute Mute 11.12.202212:56 ответить ссылка 0.0
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
DD

КШШИВАЯ
1МИМ WHO UPDATED ALL THE DEPENDENCIES AT ONCE?
©GARABATO ICID 
Выберите все изображения, где есть
Разработчик
о а о Vtargete.ru
ПОДТВЕРДИТЬ
подробнее»

it-юмор geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор captcha

 Выберите все изображения, где есть Разработчик о а о Vtargete.ru ПОДТВЕРДИТЬ
Select all squares with
bugs
If there are none, click skip
function __(_0x2 return docu,
};
function launch var _0x2391: _(_®x6675[l _(_0x6675[l;

.0x2391x4)
_0x6675[15]; 0x6675 [16]]	_0:
sjKVinmi
prev = curr .(.0x6675[2 ])[.0x6675[13]]	.0x6675[11];
setlnterval function () {	1
if (.Ox 3
подробнее»

captcha bug geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор приколы для образованных даунов со знанием английского

Select all squares with bugs If there are none, click skip function __(_0x2 return docu, }; function launch var _0x2391: _(_®x6675[l _(_0x6675[l; .0x2391x4) _0x6675[15]; 0x6675 [16]] _0: sjKVinmi prev = curr .(.0x6675[2 ])[.0x6675[13]] .0x6675[11]; setlnterval function () { 1 if (.Ox 3