Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Samsung rinnova la serie pieghevole di punta con Galaxy Z Fold8 Ultra: pannello interno da 8 pollici quasi senza piega, cerniera Flex Titanium, Snapdragon 8 Elite Gen 5 for Galaxy e batteria finalmente da 5.000 mAh. Prezzo italiano da 2.299 a 2.899 euro. Tra colorimetro, benchmark reali e giorni di uso quotidiano, ecco dove questo pieghevole convince e dove il nome Ultra fatica ancora a trovare piena giustificazione
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
La nuova Insta360 X6 introduce sensori Sony da 1/1.1" e un SoC Triple AI a 4nm. Analizziamo le riprese 8K, il primo Dolby Vision nativo a 10-bit nel settore sferico e l'innovativo flusso di lavoro diretto sulla futura versione 22 di DaVinci Resolve.
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Dopo due settimane trascorse al volante della Dacia Spring 2026 possiamo raccontarvi tutto, dalle novità di motore e batteria, fino ai consumi in tutti le situazioni, compresa l'autonomia reale ad alta velocità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-06-2007, 11:07   #1
Spike79
Senior Member
 
L'Avatar di Spike79
 
Iscritto dal: Aug 2004
Città: Provincia di Monza e Brianza
Messaggi: 6355
[C] Spostamento di Byte

Ciao, vi chiedo un aiuto....non conosco troppo bene il C, purtroppo, e mi trovo tra le mani questo codice Java da 'tradurre'....

Codice:
                        ultimo>>>=1;
                        ultimo&=0x7f;
                        ultimo |=0x80;
Dovrebbe essere uno shift di byte...."ultimo" l'ho dichiarata char , perchè il byte di java non c'è, ma ora mi dà un errore di sintassi su quegli operatori....cosa devo scrivere ?
Grazie mille
__________________
AMD Ryzen 5 7600X - Dissipatore Thermalright Assassin King 120SE - RAM Kingston Fury Beast 2x16Gb DDR5 CL30@6000 - MoBo ASROCK B650 Pro RS - GPU Sapphire 6700XT 12Gb -NVME Kingston KC3000 2Tb - PSU FSP Hydro PRO 600w - Win 11 PRO
Spike79 è offline   Rispondi citando il messaggio o parte di esso
Old 08-06-2007, 11:19   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da Spike79 Guarda i messaggi
Codice:
                        ultimo>>>=1;
                        ultimo&=0x7f;
                        ultimo |=0x80;
L'operatore >>> è caratteristico di Java e consente di fare uno shift a destra con "zero-extension", cioè uno '0' viene sempre inserito a sinistra.
In "C" non c'è uno shift del genere, solo quello "tradizionale" >> che però fa il sign extension (e dal momento che un char tipicamente è con segno, non fa quello che il codice sopra vorrebbe).

Quindi:
a) dichiari ultimo come unsigned char
b) fai:
ultimo >>= 1;
ultimo &= 0x7f;
ultimo |= 0x80;
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 08-06-2007, 11:20   #3
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
certo che in java esiste il tipo byte!!

questo codice compila benissimo:

byte ultimo = (byte) 0xFF;
//shift a dx di 1 BIT con inserimento di bit a 0 nelle posizioni più significative
ultimo>>>=1;

ultimo&=0x7f;
ultimo |=0x80;
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 08-06-2007, 11:29   #4
Spike79
Senior Member
 
L'Avatar di Spike79
 
Iscritto dal: Aug 2004
Città: Provincia di Monza e Brianza
Messaggi: 6355
Quote:
Originariamente inviato da mad_hhatter Guarda i messaggi
certo che in java esiste il tipo byte!!

questo codice compila benissimo:

byte ultimo = (byte) 0xFF;
//shift a dx di 1 BIT con inserimento di bit a 0 nelle posizioni più significative
ultimo>>>=1;

ultimo&=0x7f;
ultimo |=0x80;
Intendevo che IN C , il Byte di Java non c'è....

Ora dice che:

Codice:
ultimo&=0x7f; ----- '&=' : illegal, left operand has type 'unsigned char [1]'
idem per le altre righe.
__________________
AMD Ryzen 5 7600X - Dissipatore Thermalright Assassin King 120SE - RAM Kingston Fury Beast 2x16Gb DDR5 CL30@6000 - MoBo ASROCK B650 Pro RS - GPU Sapphire 6700XT 12Gb -NVME Kingston KC3000 2Tb - PSU FSP Hydro PRO 600w - Win 11 PRO
Spike79 è offline   Rispondi citando il messaggio o parte di esso
Old 08-06-2007, 12:19   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Devi dichiararlo solo come unsigned char...

unsigned char ultimo;
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 08-06-2007, 13:00   #6
Spike79
Senior Member
 
L'Avatar di Spike79
 
Iscritto dal: Aug 2004
Città: Provincia di Monza e Brianza
Messaggi: 6355
Ok, però ora dice
Codice:
ultimo>>>=1; ----- syntax error : '>='
e poi ho lo stesso problema con una array di char:
Codice:
char *buf_tot;

buf_tot[i]>>>=1;
buf_tot[i]&=0x7f;
buf_tot[i] |= 0x80;
__________________
AMD Ryzen 5 7600X - Dissipatore Thermalright Assassin King 120SE - RAM Kingston Fury Beast 2x16Gb DDR5 CL30@6000 - MoBo ASROCK B650 Pro RS - GPU Sapphire 6700XT 12Gb -NVME Kingston KC3000 2Tb - PSU FSP Hydro PRO 600w - Win 11 PRO
Spike79 è offline   Rispondi citando il messaggio o parte di esso
Old 08-06-2007, 14:17   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Non esiste l'operatore >>> in C. Devi usare >> accompagnato da unsigned char...

unsigned char *buf_tot;

buf_tot[i] >>= 1;
buf_tot[i] &= 0x7f;
buf_tot[i] |= 0x80;
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 08-06-2007, 14:47   #8
Spike79
Senior Member
 
L'Avatar di Spike79
 
Iscritto dal: Aug 2004
Città: Provincia di Monza e Brianza
Messaggi: 6355
Perfetto, ora mi pare a posto!!!
grazie mille!
Siete stati preziosi.
__________________
AMD Ryzen 5 7600X - Dissipatore Thermalright Assassin King 120SE - RAM Kingston Fury Beast 2x16Gb DDR5 CL30@6000 - MoBo ASROCK B650 Pro RS - GPU Sapphire 6700XT 12Gb -NVME Kingston KC3000 2Tb - PSU FSP Hydro PRO 600w - Win 11 PRO
Spike79 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto Recensione Samsung Galaxy Z Fold8 Ultra: il pieg...
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing" Insta360 X6: Dolby Vision, 8K e montaggio "...
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli Due settimane con Dacia Spring 2026: novit&agrav...
AORUS GeForce RTX 5080 INFINITY WOOD 16G: una scheda video diversa dalle altre AORUS GeForce RTX 5080 INFINITY WOOD 16G: una sc...
Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla Hyundai Ioniq 9: dopo due settimane di test non ...
Vogliono costruire un monumento per Elon...
Ring Intercom Audio crolla a 39,99€ su A...
La Francia blocca il divieto dei social ...
Trump citato in giudizio: chiesto lo sto...
PEC obbligatoria per revisione e passagg...
Il ripulitore di watermark Claude da 4.5...
Xiaomi 17 Ultra scambia il Sole per la L...
È arrivata la migliore e-bike Eng...
Apple Mac mini M4, ecco perché conviene ...
Robot aspirapolvere in offerta su Amazon...
Il nuovo pick-up elettrico di Ford &egra...
Google Pixel 11 arriva su Amazon: preord...
Mega sconti su attrezzi a batteria e rob...
Google Search dà per morto Sam Al...
Il noleggio delle GPU NVIDIA si quota in...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 00:30.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v