saxus (statz) | #9, Agyfasz (419) |
1264 | #2753 | ^ | Idézet | Sun, 25 Aug 2013 06:10:43 +02 |
84.3.*.* | *.catv.pool.telekom.hu |
Hopp, a kommented vége lemaradt: "Viszont most nézem, C/C++-ban nincs is logikai kizáró vagy kapcsolat???" C-ben sincs "logikai" xor. Csupán azért működik, mert integerre működik. "Bár, ha jobban meggondolom nem is meglepő, pont a fent említett 1 vs. -1 probléma miatt, ugyanis a logikai és ill. vagy kapcsolatokban hóttmindegy, hogy csak a legalsó bit egyes vagy az összes, kizáró vagyban meg nem..." Ez inkább abban különbözik, hogy míg a Pascal egy oktatási/alkalmazásfejlesztésre jól használható nyelv volt (nem véletlen, hogy egy időben DOS-on nagyon erős volt - igaz ebbe belejátszott az is, hogy könnyű volt ASM kódot beletúrni -, de nem kevés régi NextSTEP/MacOS-es program is ebben készült), addig a C csak valami kényelmesebb cucc az Assembly helyett. De ez igazából nem probléma, máshogy definiálja a dolgokat a két nyelv. Egyébként ennek szerintem nagyon egyszerű az oka: PDP-11-en volt egy BIT nevű utasítás, ami lényegében a bitenkénti AND-nak felel meg és csak flag registert állít. Így két utasításból megvan az if. Ha -1-et követelsz meg mindenképp, akkor előtte még kell egy MOV és egy CMP. De ugyanez van x86-on is most is x86-on. http://en.wikipedia.org/wiki/PDP-11_architecture#Double-operand_instructions |