Advertencia C26453
Desbordamiento aritmético: el desplazamiento izquierdo de un número con signo negativo es un comportamiento indefinido (io.4)
Comentarios
Esta advertencia indica que el código a la izquierda desplaza un valor entero con signo negativo, que no esportable y desencadena el comportamiento definido por la implementación.
Nombre del análisis de código: LEFTSHIFT_NEGATIVE_SIGNED_NUMBER
Ejemplo
void leftshift(int shiftCount)
{
const auto result = -1 << shiftCount; // C26453 reported here
// code
}
Para corregir esta advertencia, utilice el código siguiente:
void leftshift(int shiftCount)
{
const auto result = ~0u << shiftCount; // OK
// code
}
Consulte también
26450
26451
26452
26454
ES.101: Usar tipos sin firmar para la manipulación de bits
ES.102: Usar tipos con signo para la aritmética
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de