Qual è il modo corretto di iterare su un vettore in C ++? Considera questi due frammenti di codice, questo funziona benissimo: for (unsigned i=0; i < polygon.size(); i++) { sum += polygon[i]; } e questo: for (int i=0; i < polygon.size(); i++) { sum += polygon[i]; } che genera …
Ho ragione a dire che la differenza tra un intero con segno e senza segno è: Unsigned può contenere un valore positivo più grande e nessun valore negativo. Unsigned utilizza il bit iniziale come parte del valore, mentre la versione firmata utilizza il bit più a sinistra per identificare se …
Di seguito ho un semplice programma: #include <stdio.h> #define INT32_MIN (-0x80000000) int main(void) { long long bal = 0; if(bal < INT32_MIN ) { printf("Failed!!!"); } else { printf("Success!!!"); } return 0; } La condizione if(bal < INT32_MIN )è sempre vera. Come è possibile? Funziona bene se cambio la macro …
Nel libro "Riferimento completo di C" è menzionato che charper impostazione predefinita è senza segno. Ma sto provando a verificarlo con GCC e Visual Studio. Lo sta prendendo come firmato di default. Quale è corretto?
Questo codice viene sempre valutato come falso? Entrambe le variabili sono ints firmati a complemento di due. ~x + ~y == ~(x + y) Sento che dovrebbe esserci un numero che soddisfi le condizioni. Ho provato a testare i numeri tra -5000e 5000non ho mai raggiunto l'uguaglianza. C'è un modo …
Voglio convertire una stringa esadecimale in un intero con segno a 32 bit in C ++. Quindi, per esempio, ho la stringa esadecimale "fffefffe". La rappresentazione binaria di questo è 11111111111111101111111111111110. La rappresentazione intera con segno di questo è: -65538. Come posso fare questa conversione in C ++? Questo deve …
C ++ 20 ha introdotto ilstd::ssize() funzione gratuita come di seguito: template <class C> constexpr auto ssize(const C& c) -> std::common_type_t<std::ptrdiff_t, std::make_signed_t<decltype(c.size())>>; Una possibile implementazione sembra usare static_cast, per convertire il valore restituito dalla size()funzione membro di cl ass C nella sua controparte firmata. Dal momento che il size() funzione …
Sto cercando di capire perché il seguente codice non emette un avviso nel punto indicato. //from limits.h #define UINT_MAX 0xffffffff /* maximum unsigned int value */ #define INT_MAX 2147483647 /* maximum (signed) int value */ /* = 0x7fffffff */ int a = INT_MAX; //_int64 a = INT_MAX; // makes all …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.