- 1
- 2
- 3
- 4
- 5
- 6
- 7
var
u: longint;
begin
u := $-80000000;
writeln(u);
end.
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+82
var
u: longint;
begin
u := $-80000000;
writeln(u);
end.
Жуквери в Дельфи7. Компилируется.
krypt 18.12.2012 12:54 # 0
TarasB 18.12.2012 13:21 # +4
krypt 18.12.2012 21:26 # 0
---
Это я к тому, что это что угодно, но не говнокод.
LispGovno 18.12.2012 21:38 # 0
TarasB 19.12.2012 09:21 # +4
guest 18.12.2012 13:25 # +1
guest 18.12.2012 13:36 # +3
guest 18.12.2012 13:54 # +4
Steve_Brown 18.12.2012 13:39 # 0
http://ideone.com/OnUqQz
TarasB 18.12.2012 13:46 # 0
А вот в Дельфи-7 компилируется, но даёт не то.
Вопрос только, как задать нужную мне константу в 16ичном виде?
Steve_Brown 18.12.2012 14:07 # +2
Ой, нет, не очевидно. Кстати, в си тоже такой баг - пишем -0x80000000, а он выдает просто 0x80000000:
http://ideone.com/i0lVWG
bormand 18.12.2012 14:59 # +3
bormand 18.12.2012 14:57 # +1
-2147483648 это 0x80000000, 2147483647 это 0x7FFFFFFF. Числа, лежащие за пределами этого диапазона (например +2147483648) в 32х битном знаковом инте тупо не представимы.
P.S. Конечно же тебе хочется 2147483648, но оно, к сожалению не вошло в диапазон из-за злоебучего нуля, из-за которого положительных чисел влезло на 1 меньше, чем отрицательных.
TarasB 18.12.2012 15:03 # 0
первое входит в диапазон int, второе не входит
inkanus-gray 18.12.2012 15:59 # 0
TarasB 18.12.2012 16:10 # 0
Второе с переполнением, не то.
То есть нормального способа задать эту константу в Дельфи нету.
guest 18.12.2012 16:42 # 0
guest 18.12.2012 17:06 # +5
Vindicar 18.12.2012 17:59 # 0
inkanus-gray 18.12.2012 19:32 # 0
defecate-plusplus 18.12.2012 16:41 # 0
bormand 18.12.2012 20:32 # +2
defecate-plusplus 19.12.2012 09:46 # +1
The representations of integral types shall define values by use of a pure binary numeration system.
[Example: this International Standard permits 2’s complement, 1’s complement and signed magnitude representations for integral types. ]
bormand 18.12.2012 20:36 # 0
If the sign bit is one, the value shall be modified in one of the following ways:
— the corresponding value with sign bit 0 is negated (sign and magnitude);
— the sign bit has the value −(2 N ) (two’s complement);
— the sign bit has the value −(2 N − 1) (ones’ complement).
Which of these applies is implementation-defined.
А еще там допустимы padding биты, и есть требование, чтобы представления signed'ов и unsigned'ов для положительных чисел, которые можно записать signed'ом совпадали.
P.S. Кстати в sign-and-magnitude будет джва нуля, зато Тарас будет доволен - такие инты абсолютно симметричны.
defecate-plusplus 18.12.2012 23:23 # 0
нам еще на 1 семестре рассказывали про модифицированные обратные и дополнительные - когда под знак выделяются джва разряда, что позволяет отлавливать underflow и overflow
TarasB 19.12.2012 09:22 # 0
А вот хренли верблюду понадобился лишний бит - придумать не могу.
defecate-plusplus 19.12.2012 09:27 # 0
верблюд - это перл чтоли?
TarasB 19.12.2012 09:37 # 0
а чё, на армах нет флага переполнения?
defecate-plusplus 19.12.2012 09:58 # +3
потому что его проще и дешевле выполнить в АЛУ, чем вводить ограничения по его неиспользованию
тем не менее, в стандарте С/С++ никто не требует его наличия
равно как и никто в стандарте не предоставляет способа получения его состояния
только ассемблер, только хардкор
либо специфические ловушки, что не факт что вообще практично
TarasB 19.12.2012 10:09 # 0
defecate-plusplus 19.12.2012 10:15 # 0
нехер закладываться на ассемблер x86
когда уже версию дельфей для андроида сделают?
TarasB 19.12.2012 11:21 # +1
defecate-plusplus 19.12.2012 11:28 # 0
TarasB 19.12.2012 11:53 # +2
LispGovno 19.12.2012 10:12 # 0
LispGovno 19.12.2012 10:14 # 0
LispGovno 19.12.2012 10:15 # 0
LispGovno 19.12.2012 10:33 # 0
Почитал по ссылке. Понял по значению, что не для гарбедж коллектора это используется
inkanus-gray 18.12.2012 15:43 # 0
Кстати, -$-80000000 почему-то выдаёт такой же результат, а -$80000000 не компилируется.
3.14159265 18.12.2012 19:00 # 0
Создать именованные константы - MIN_BYTE, MIN_WORD, MIN_INT, MIN_LONGINT. И юзать их.
bormand 18.12.2012 19:36 # +4
https://ideone.com/4cDkMA
inkanus-gray 18.12.2012 19:39 # +4
Да и потом это не слишком очевидно. Вдруг кому-нибудь нужно именно 2 в 31-й степени вне зависимости от размера типа longint в данной версии компилятора?
TarasB 18.12.2012 20:20 # +1
Ой, точно.
bormand 18.12.2012 20:31 # +9
LispGovno 18.12.2012 20:45 # +1
Govnocoder#0xFF 19.12.2012 00:03 # 0
Govnocoder#0xFF 19.12.2012 00:08 # 0
bormand 19.12.2012 06:22 # +8
Q: Что такое постоянная Б. Тараса?
A: Это число не равное нулю, которое не меняется при смене знака.
LispGovno 19.12.2012 10:05 # +4
inkanus-gray 18.12.2012 15:49 # 0
guest 18.12.2012 16:42 # −6
Я куплю тебе калач.
guest 18.12.2012 17:04 # −6
guest 18.12.2012 18:41 # −2
3.14159265 18.12.2012 18:58 # 0
Интересно почему не @торасег.
С одной стороны бажность багланда меня не удивляет, но всё-равно плюсану.
inkanus-gray 18.12.2012 19:36 # +2
FPC и GPC такой код отвергают, потому что в них жуквери нет.
bormand 18.12.2012 20:10 # +1
https://ideone.com/Gg5rzC
defecate-plusplus 18.12.2012 23:35 # +1
он и <% ... %> умеет
LispGovno 18.12.2012 20:47 # 0
TarasB 18.12.2012 20:53 # +1
аналог крестоблядского 0x
LispGovno 18.12.2012 21:04 # +1
u = 0x; в крестах не скомпилируется
TarasB 19.12.2012 09:23 # +1
Это дельфиний чисто баг. Кстати, по аналогии: 0x в билдере компилируется?
MAKAKA 30.09.2019 19:01 # 0
tirinox 18.12.2012 22:56 # +2
3.14159265 18.12.2012 23:12 # +4
Ну то есть те кому этих самых долларов не хватает.
Люди за еду пишут, а доллары видят только в своем коде.
LispGovno 19.12.2012 10:08 # 0
Из них все пишут за еду, кроме некоторых башистов, работающими за круглую сумму админами на удаленке. Ну а Хацкелстам еда не нужна. Им достаточно Борща и одобрение мамки.
govnomonad 20.12.2012 04:20 # +4
им нужна еда только когда они пойдут в туалет
eth0 19.12.2012 20:27 # +5
for(₪i = 0;₪i < 10;₪i++);
LispGovno 19.12.2012 22:37 # +4
bormand 20.12.2012 05:43 # +3
LispGovno 20.12.2012 06:42 # 0
卐res .= 卐i;
}
guest 21.12.2012 14:36 # +2
Хава нэранэна, хава нэранэна, хава нэранэна вэ нисмэха!
Уру ахим бэ лэв самэах, уру ахим бэ лэв самэах, уру ахим бэ лэв самэах!
TarasB 21.12.2012 15:03 # +5
guest 21.12.2012 21:45 # 0
guest 21.12.2012 22:21 # +4
Rooster 30.09.2019 19:27 # −1
Кстати в форте 2012 есть пасцалеликие констанции с $, версия gforth на tio.run имеет баг, что $ воспринимается как $0, в версии gforth на ideone такого бага уже нет.
Crabbe 30.09.2019 19:46 # −6
rycb_xpycTaJlbHblu 30.09.2019 20:53 # −103