ckd_sub
|
Definido en el encabezado
<stdckdint.h>
|
||
|
#define ckd_sub( result, a, b ) /* implementation-defined */
// interfaz expuesta:
|
(desde C23) | |
Calcula la resta x - y y almacena el resultado en * result . La resta se realiza como si ambos operandos estuvieran representados en un tipo entero con signo de rango infinito, y luego el resultado se convirtiera de este tipo entero a type1 . Si el valor asignado a * result representa correctamente el resultado matemático de la operación, devuelve false . En caso contrario, devuelve true . En este caso, el valor asignado a * result es el resultado matemático de la operación ajustado al ancho de * result .
Contenidos |
Parámetros
| a, b | - | valores enteros |
| result | - | dirección donde debe almacenarse el resultado |
Valor de retorno
false si el valor asignado a * result representa correctamente el resultado matemático de la resta, true en caso contrario.
Nota
Tanto type2 como type3 deberán ser cualquier tipo entero excepto "plain" char , bool , un tipo entero de precisión de bits , o un tipo enumerado , y pueden ser el mismo. * result deberá ser un lvalue modificable de cualquier tipo entero excepto "plain" char , bool , un tipo entero de precisión de bits, o un tipo enumerado.
Se recomienda producir un mensaje de diagnóstico si type2 o type3 no son tipos enteros adecuados, o si * result no es un lvalue modificable de un tipo entero adecuado.
Ejemplo
|
Esta sección está incompleta
Razón: sin ejemplo |
Referencias
- Estándar C23 (ISO/IEC 9899:2024):
-
- 7.20.1 Las macros de operaciones con enteros verificados ckd_ (p: 311)
Véase también
|
(C23)
|
operación de suma verificada en dos enteros
(macro de función genérica de tipo) |
|
(C23)
|
operación de multiplicación verificada en dos enteros
(macro de función genérica de tipo) |
|
Documentación de C++
para
ckd_sub
|
|