Ho dichiarato una variabile uint8 e quando il valore in esso viene stampato, ottengo facce sorridenti e spazi bianchi. Non dovrebbe visualizzare valori interi?uint8 mostra strani caratteri
risposta
Scommetto che uint8
è un typedef
per unsigned char
nelle intestazioni di sistema. Quindi std::cout << u
stamperà i simboli anziché i valori interi, dove u
è di tipo uint8
. Prova
std::cout << static_cast<int>(u);
o
std::cout << +u;
di avere valori numerici stampati.
ma non lo cast in int32? – aks
Sì, lo sarà. Ma qual è il problema? Questo crea un int temporaneo dalla tua variabile uint8 e alimenta int a std :: cout per la stampa. – usta
@Rajesh. Se si stampa in decimale, si ritiene che faccia la differenza se il valore è memorizzato in uint8 o uint32 poco prima che venga stampato? –
Tutto dipende da come si stampa il valore. Per cout, prova cout << (long unsigned int)var;
e per printf
, puoi provare a utilizzare l'identificatore di formato %lu
. Tuttavia, come accennato in precedenza, è probabile che uint8
sia definito o typedef come qualcos'altro, poiché non è un tipo ISO C++. C'è anche la possibilità che uint8
sia tipizzato a unsigned long int
(generico), o unsigned __int64
(specifico piattaforma MS), e che il compilatore MSVC++ stia facendo semplicemente la conversione implicita sbagliata. Senza sapere cosa è definito uint8
, è difficile dirlo.
uint8 viene utilizzato direttamente ....> typedef uint8 _UINT1; Nel commento, dice 1 byte intero (Come faccio a mettere un blocco grigio attorno al codice?) – aks
Bene, quindi '_UIN1;' è probabilmente definito come qualcos'altro. Dovresti seguire i typedef fino a quando non colpisci il tipo intrinseco sottostante (sebbene, '_UINT1' sembra implicare un singolo char senza segno, non un numero a 64 bit). Inoltre, è possibile specificare il testo come codice (ovvero la "casella grigia") racchiudendolo in caratteri di virgolette. – Javert93
typedef uint8 _UINT1; definisce _UINT1 come alias di uint8, non viceversa. Quindi dovrai cercare un typedef XXX uint8; dichiarazione per scoprire cosa è uint8. Oppure puoi semplicemente fidarti di me che è un intero senza segno a 8 bit ed è un alias per il carattere non firmato :) [u] i tipi intN [_t] indicano sempre interi N-bit, non interi N-byte. – usta
- 1. Traduzione che mostra caratteri strani
- 2. pytz.timezone mostra risultati strani per Asia/Calcutta?
- 3. C++ e printf - output di caratteri strani
- 4. IE toLocaleString ha caratteri strani nei risultati
- 5. Caratteri Web SVG di Chrome strani caratteri nell'input selezionato
- 6. L'html UTF-8 senza BOM visualizza caratteri strani
- 7. Gulp Uglify che produce strani caratteri dalla libreria Paper.js
- 8. file_get_contents restituisce strani caratteri con alcune pagine di Wikipedia, perché?
- 9. Strani caratteri nel testo del database: Ã, Ã, ¢, â, €,
- 10. Perché questo programma in C stampa caratteri strani in uscita?
- 11. ASP.NET MVC: strani caratteri a pagina di errore
- 12. Il log GC Java è pieno di caratteri strani
- 13. ctypes pitone Uint8 tampone utilizzo
- 14. di uint8, uint16 e uint32?
- 15. C# ha int8 e uint8?
- 16. Golang: convertire uint8 a stringa
- 17. Converti matrice UInt8 in stringa
- 18. SQL * Plus - la colonna numerica mostra i caratteri esadecimali
- 19. Converti vettore di uint8 in stringa
- 20. numpy soluzione di avvolgimento pixel uint8
- 21. Differenza tra [] uint8 && [] byte (Golang fette)
- 22. veloce differenza assoluta di due array uint8
- 23. CRYPT_GEN_RANDOM effetti strani
- 24. PlayFramework ~ esegue strani errori
- 25. virgolette Strani corda in java statica
- 26. Perché a volte emacs inserisce caratteri strani nella parte superiore del mio file?
- 27. File "Designer1.cs" strani creati
- 28. Python file.tell() fornisce numeri strani?
- 29. Strani spazi vuoti in FlowLayoutPanel
- 30. rimozione strani personaggi stringa php
inserisci il tuo codice. – tenfour
Sto usando una libreria da un venditore..it restituisce un tipo uint8 – aks
Stai provando a stamparlo come una stringa usando l'identificatore di formato '% s'? Prova invece a stampare i singoli caratteri. – dirkgently