Domande taggate «integer-overflow»

L'overflow di numeri interi si verifica quando il risultato di un'operazione è maggiore del valore massimo che può essere rappresentato dal tipo intero sottostante.


4
(-2147483648> 0) restituisce true in C ++?
-2147483648 è il numero intero più piccolo per il tipo intero con 32 bit, ma sembra che trabocchi nella if(...)frase: if (-2147483648 > 0) std::cout << "true"; else std::cout << "false"; Questo verrà stampato truenei miei test. Tuttavia, se eseguiamo il cast di -2147483648 in numero intero, il risultato sarà …




15
Come evitare overflow in expr. A * B - C * D
Ho bisogno di calcolare un'espressione che assomigli a:, A*B - C*Ddove sono i loro tipi: signed long long int A, B, C, D; ogni numero può essere davvero grande (non traboccare il suo tipo). Mentre A*Bpotrebbe causare overflow, allo stesso tempo l'espressione A*B - C*Dpuò essere davvero piccola. Come posso …
161 c++  c  integer-overflow 




8
Cast efficiente da non firmato a firmato che evita comportamenti definiti dall'implementazione
Voglio definire una funzione che accetta un unsigned intargomento e restituisce un intmodulo congruente UINT_MAX + 1 all'argomento. Un primo tentativo potrebbe essere simile a questo: int unsigned_to_signed(unsigned n) { return static_cast<int>(n); } Ma come sa qualsiasi avvocato linguistico, il casting da non firmato a firmato per valori maggiori di …



1
Un valore char impostato su CHAR_MAX è garantito per essere impostato su CHAR_MIN?
Il mio codice: #include <stdio.h> #include <limits.h> int main() { char c = CHAR_MAX; c += 1; printf("CHAR_MIN=%d CHAR_MAX=%d c=%d (%c)\n", CHAR_MIN, CHAR_MAX, c, c); } Produzione: CHAR_MIN=-128 CHAR_MAX=127 c=-128 () Vediamo che quando incrementiamo una charvariabile impostata su CHAR_MAX, si avvolge intorno a CHAR_MIN. Questo comportamento è garantito? O …
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.