![]() |
|
|
|||||||
| Portal | Wiki | IRC-Chat | Registrieren | Benutzerliste | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
![]() |
|
|
Themen-Optionen | Thema bewerten | Ansicht |
|
|
#1 | |
|
NetBSD Paladin
Registrierungsdatum: Aug 2006
Ort: Gera
Beiträge: 666
|
C/C++ Term in Bedingung
Kann mir mal jemand folgendes Verhalten erklären:
Code:
Zitat:
__________________
"Don't just believe that because something is trendy that it's good", Knuth 2012 NetBSD_6.99.19@Thinkpad_X220i |
|
|
|
|
|
|
#2 |
|
Registered User
Registrierungsdatum: Mar 2010
Beiträge: 145
|
C macht keine Arithmetik mit Typen, die kleiner als ein int sind. In so einem Fall wird dann einfach erstmal nach "int" konvertiert. Das "unsigned" ist bei einem char also nutzlos. Du müßtest das Resultat der zweiten Subtraktion nach "unsigned char" casten, also (unsigned char)(c-d). Vgl. http://publications.gbdirect.co.uk/c...rithmetic.html unter 2.8.1.1.
|
|
|
|
|
|
#3 |
|
NetBSD Paladin
Registrierungsdatum: Aug 2006
Ort: Gera
Beiträge: 666
|
Danke dir. Der erste Fall ist mir erst gestern zum ersten Mal begegnet und ich konnt's nicht erklären.
__________________
"Don't just believe that because something is trendy that it's good", Knuth 2012 NetBSD_6.99.19@Thinkpad_X220i |
|
|
|
|
|
#4 |
|
Parasprite
|
Das ganze nennt sich Integer Promotion Rules und war bereits teil von ANSI-C. Bei diversen 8-Bit Compilern kann man das abschalten.
__________________
[ bsdlogo 2.0 - Wiki - Ports - LibreOffice Pakete - PM schreiben - kamikaze@bsdforen.de ]
Disclaimer: My posts represent my perception. Errors and incompleteness are to be expected, I deny any responsibility to know everything. |
|
|
|
![]() |
| Dieses Thema betrachten zurzeit 1 Personen. (0 registrierte Benutzer und 1 Gäste) | |
| Themen-Optionen | |
| Ansicht | Thema bewerten |
|
|
Ähnliche Themen
|
||||
| Thema | Erstellt von | Forum | Antworten | Letzter Beitrag |
| >gnuls -la --color | more #geht nicht? | HaraldLangner | FreeBSD - Anwendungen und Ports | 6 | 12.03.2008 18:56 |
| a/e term schmiert ab | Dustin | FreeBSD - Allgemein | 0 | 11.07.2003 00:39 |