- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
$a != abs($a)
$a+abs($a) == 0
$a && !($a + abs($a))
$n>>1 > $n
substr_count($a,"-")
is_nan(sqrt($number))
is_nan(log($n))
!array_shift(explode("-", $num))
(int)$var === ~~(int)$var
strlen(strval($num)) != strlen(strval(abs($num)))
strlen(decbin($n)) == 32
is_int(strpos(get_headers("http://habrahabr.ru/blogs/php/page$num/")[0], '404'));
function lessThanZero ($num) {
while (1) {
if ($num++ == 0) {
return true;
}
}
}
function is_value_between($value, $begin, $end) {
return in_array($value, range($begin,$end));
}
HEu3BECTHblu_nemyx 09.07.2021 17:51 # 0
bormand 09.07.2021 23:06 # +1
gcc на них нет:
HEu3BECTHblu_nemyx 09.07.2021 23:13 # 0
bormand 09.07.2021 23:17 # +1
Оно вернёт true или переполнит int.
Оно вернёт true или повиснет нахуй.
Т.е. даже с unsigned это тупо return true. И даже если в цикле не инкрементить, то один фиг return true.
З.Ы. Нефиг писать функции, которые возвращают только одно значение )))
Soul_re@ver 09.07.2021 23:19 # 0
Если бы num было беззнаковым, тогда всё просто — в конце концов num переполнится и станет равным 0.
Если бы знаковое переполнение не было бы UB — то же самое.
bormand 09.07.2021 23:21 # 0
Убери инкремент и он всё равно выкинет... Либо num уже ноль и мы вернём true либо всё повиснет и нам пофиг, можно тоже вернуть true.
bormand 09.07.2021 23:27 # +1
Программа B называется аппроксимацией программы A, если для всех случаев, в которых A завершается B завершается с тем же результатом.
Soul_re@ver 10.07.2021 00:17 # 0
bormand 10.07.2021 00:20 # 0
Т.е. формально любой UB эквивалентен зависанию.
Именно поэтому мы можем аппроксимировать программу с UB'ом при помощи более простой программы, которая забивает на поведение под UB'ом.
> за границы массива
Это я вроде постила.
Kozel 09.07.2021 18:02 # +1
HEu3BECTHblu_nemyx 09.07.2021 18:11 # +2
j123123 09.07.2021 19:41 # +1
Может еще нужно чтоб была особая функция для проверки равенства нулю?
HEu3BECTHblu_nemyx 09.07.2021 19:47 # +3
https://www.npmjs.com/~pethu
j123123 09.07.2021 19:45 # +1
The Math.sign() function returns either a positive or negative +/- 1, indicating the sign of a number passed into the argument. If the number passed into Math.sign() is 0, it will return a +/- 0. Note that if the number is positive, an explicit (+) will not be returned.
HEu3BECTHblu_nemyx 09.07.2021 19:52 # 0
PolinaAksenova 09.07.2021 20:41 # +1
HEu3BECTHblu_nemyx 09.07.2021 20:46 # 0
PolinaAksenova 09.07.2021 20:49 # 0
j123123 09.07.2021 21:51 # +1
PolinaAksenova 09.07.2021 21:56 # +2
HEu3BECTHblu_nemyx 09.07.2021 22:03 # 0
На уровне языка можно так записать?
PolinaAksenova 09.07.2021 22:11 # +3
Модуль decimal является частью стандартной библиотеки языка.
HEu3BECTHblu_nemyx 09.07.2021 22:23 # +1
«bcmath» в поставку входит, но в «Ideone» его почему-то не включили.
HEu3BECTHblu_nemyx 10.07.2021 05:50 # +1
bormand 10.07.2021 08:41 # 0
bormand 10.07.2021 08:50 # +2
Ну да, можешь локальный контекст открыть и посчитать что-то, если глобальный крутить не хочется.
bormand 09.07.2021 23:00 # +1
HEu3BECTHblu_nemyx 09.07.2021 23:12 # 0
j123123 09.07.2021 23:18 # +1
В каком еще языке есть такая хер-ня?
HEu3BECTHblu_nemyx 09.07.2021 23:23 # 0
HEu3BECTHblu_nemyx 09.07.2021 23:29 # +3
bormand 09.07.2021 23:30 # +1
Там хоть оператор st =[ cmd ]=> st' можно объявить.
j123123 09.07.2021 23:37 # +2
https://riptutorial.com/haskell/example/23080/custom-operators
HEu3BECTHblu_nemyx 09.07.2021 23:38 # +1
j123123 09.07.2021 23:38 # 0
JloJle4Ka 10.07.2021 01:26 # 0
pethu.<=?=>
<=?=> – это типа постфиксный оператор.
bormand 10.07.2021 14:28 # 0
j123123 09.07.2021 23:31 # +1
bormand 09.07.2021 23:31 # +1
j123123 09.07.2021 23:37 # +1
bormand 09.07.2021 23:40 # +4
HEu3BECTHblu_nemyx 09.07.2021 23:37 # 0
=== есть в Яибу, но там он означает совсем другое. Кто, не подглядывая в справку, вспомнит его значение?
MAKAKA 10.07.2021 00:26 # 0
Это просто перегруженный у разных говнов оператор, и он не коммутативен
HEu3BECTHblu_nemyx 10.07.2021 00:52 # +1
Coq 10.07.2021 01:10 # +1
JloJle4Ka 10.07.2021 01:28 # 0
Coq 10.07.2021 01:29 # 0
JloJle4Ka 10.07.2021 01:36 # 0
Coq 10.07.2021 02:07 # 0
HEu3BECTHblu_nemyx 10.07.2021 05:44 # 0
booratihno 10.07.2021 14:09 # +1
хотя мне этот оператор тоже не нравица
bormand 10.07.2021 14:11 # +1
Т.е. в с++ всё тоже норм т.к. "максимально ожидаемо для полностью изучившего стандарт"?
Soul_re@ver 10.07.2021 14:22 # +1
То есть, никем не ожидаемое?
booratihno 10.07.2021 14:23 # 0
HEu3BECTHblu_nemyx 10.07.2021 02:15 # 0
booratihno 10.07.2021 14:38 # 0
потому я за "яuбy"
j123123 10.07.2021 12:11 # −2
https://ideone.com/Wsigk8
PHP зачем-то при "0" == "-0" и "0" == "0" кастует эти "0" "-0" в числа и потом сравнивает, а при === сравнивает их как строки. Нахуя так надо делать?
PolinaAksenova 10.07.2021 12:43 # +1
Так это давняя смешнявка. Пых (справедливо) считает, что по умочанию ня нём программирует ротоняк, который про эти ваши "типы" ня задумывается, поэтому оператор "==" пытается аргументы-строки привести к числам. В каком-то, кажется, пятом пыхе вообще была встроенная уязвимость, благодаря которой все строки, нячинающиеся с "0e", считались равными. Представь, как это отразилось ня коде пыхомакак, которые сравнивали хэши паролей пользователей через PHP.
guest6 10.07.2021 12:48 # 0
j123123 10.07.2021 12:51 # +1
guest6 10.07.2021 13:19 # 0
PolinaAksenova 10.07.2021 12:48 # +2
https://ideone.com/QUmt2m
guest6 10.07.2021 12:50 # 0
HEu3BECTHblu_nemyx 10.07.2021 14:06 # +1
frnnds 17.07.2021 09:05 # 0
bormand 17.07.2021 09:30 # +2
Если бы == всегда кастовал в числа, как в том же пёрле, было бы просто и логично. Но это ведь не так. Оно иногда в строки кастует, иногда в числа, ещё и в разных версиях эта эвристика работает по-разному.
frnnds 18.07.2021 11:41 # 0
Но этот оператор чаще всего используется при сравнении массивов, где он-то удобен.
bormand 18.07.2021 11:42 # 0
"php" == 0
frnnds 18.07.2021 19:07 # +2
https://wiki.php.net/rfc/string_to_number_comparison
В восьмой версии изменили поведение.
HEu3BECTHblu_nemyx 18.07.2021 20:56 # +3
Именно поэтому я не люблю полагаться на неявное приведение, а предпочитаю использовать === и явный вызов strval, intval, floatval etc.
frnnds 18.07.2021 21:12 # +1
Согласен, это предпочтительнее.
>явный вызов strval, intval, floatval etc
А тут я больше привык к (string) и тд. Смысл не меняется.
ASD_77 10.07.2021 12:08 # +3
j123123 10.07.2021 12:23 # +2
ASD_77 10.07.2021 13:34 # +2