ckd_sub
| Definiert in der Headerdatei <stdckdint.h>. |
||
| #define ckd_sub( result, a, b ) /* implementation-defined */ //öffentliche Schnittstelle |
(seit C23) | |
Berechnet die Subtraktion x - y und speichert das Ergebnis in *result. Die Subtraktion wird so durchgeführt, als ob beide Operanden in einem vorzeichenbehafteten Ganzzahltyp mit unendlicher Reichweite dargestellt wären und das Ergebnis dann von diesem Ganzzahltyp in type1 konvertiert würde. Wenn der Wert, der *result zugewiesen wird, das mathematische Ergebnis der Operation korrekt darstellt, gibt die Funktion false zurück. Andernfalls gibt sie true zurück. In diesem Fall ist der Wert, der *result zugewiesen wird, das mathematische Ergebnis der Operation, umgewickelt auf die Breite von *result.
Inhalt |
[bearbeiten] Parameter
| a, b | - | Ganzzahlwerte |
| Ergebnis | - | Adresse, an der das Ergebnis gespeichert werden soll |
[bearbeiten] Rückgabewert
false, wenn der Wert, der *result zugewiesen wird, das mathematische Ergebnis der Subtraktion korrekt darstellt, true andernfalls.
[bearbeiten] Hinweis
Sowohl type2 als auch type3 müssen beliebige Ganzzahltypen außer "plain" char, bool, einem bit-genauen Ganzzahltyp oder einem Aufzählungstyp sein, und sie können gleich sein. *result muss ein modifizierbarer L-Wert eines beliebigen Ganzzahltyps außer "plain" char, bool, einem bit-genauen Ganzzahltyp oder einem Aufzählungstyp sein.
Es wird empfohlen, eine Diagnosemeldung auszugeben, wenn type2 oder type3 keine geeigneten Ganzzahltypen sind oder wenn *result kein modifizierbarer L-Wert eines geeigneten Ganzzahltyps ist.
[bearbeiten] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[bearbeiten] Referenzen
- C23-Standard (ISO/IEC 9899:2024)
- 7.20.1 Die Makros für die überprüfte Ganzzahlarithmetik (p: 311)
[bearbeiten] Siehe auch
| (C23) |
Überprüfte Additionsoperation auf zwei Ganzzahlen. (typspezifisches Funktionsmakro) |
| (C23) |
Überprüfte Multiplikationsoperation auf zwei Ganzzahlen. (typspezifisches Funktionsmakro) |