¿Por qué convertir corto a int para operaciones aritméticas en c y c?
c y c requieren convertir cortos a int antes de realizar operaciones aritméticas. Este requisito proviene de decisiones de diseño históricas que acomodaron variables arquitecturas de hardware y optimizaciones de rendimiento.
antecedentes sobre promociones enteras
en C, las promociones enteros se introdujeron para determinar cómo los tipos de datos se convirtieron automáticamente en expresiones. Las conversiones aritméticas habituales aplicadas a las expresiones aritméticas implican la promoción de breves a int si puede representar todos los valores cortos. Otherwise, it is promoted to unsigned int.
Rationale for Wider Calculations
According to the C standard rationale, allowing calculations in wider types than necessary was introduced to:
Esta decisión de diseño se atribuye a las variables arquitecturas de hardware en el momento, donde el uso de tipos más amplios podría dar lugar a una ejecución de código más eficiente.
Implicaciones para operandos cortos
cuando se obtiene un outenador en un aritmético en un aritmético. Esta promoción típicamente lo convierte en int, que proporciona un rango más amplio de valores y garantiza tipos de datos consistentes para las operaciones.
ejemplo
considere el siguiente fragmento del código:corto s = 1, t = 2; auto x = s t;
short s = 1, t = 2; auto x = s t;aquí, S y T son tipos cortos. Sin embargo, el resultado de su adición se almacena en X, que tendrá tipo int. Esto se alinea con las conversiones aritméticas habituales y las promociones enteras definidas en el estándar C.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3