Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Polestar 3 Performance, test drive: comodità e potenza possono convivere
Polestar 3 Performance, test drive: comodità e potenza possono convivere
Abbiamo passato diversi giorni alla guida di Polestar 3, usata in tutti i contesti. Come auto di tutti i giorni è comodissima, ma se si libera tutta la potenza è stupefacente
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
In occasione del proprio Architecture Deep Dive 2025 Qualcomm ha mostrato in dettaglio l'architettura della propria prossima generazione di SoC destinati ai notebook Windows for ARM di prossima generazione. Snapdragon X2 Elite si candida, con sistemi in commercio nella prima metà del 2026, a portare nuove soluzioni nel mondo dei notebook sottili con grande autonomia
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-06-2007, 12:07   #1
Spike79
Senior Member
 
L'Avatar di Spike79
 
Iscritto dal: Aug 2004
Città: Provincia di Monza e Brianza
Messaggi: 6270
[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 - Motherboard ASROCK B650 Pro RS - 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   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
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, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 08-06-2007, 12: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, 12:29   #4
Spike79
Senior Member
 
L'Avatar di Spike79
 
Iscritto dal: Aug 2004
Città: Provincia di Monza e Brianza
Messaggi: 6270
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 - Motherboard ASROCK B650 Pro RS - 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, 13: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, 14:00   #6
Spike79
Senior Member
 
L'Avatar di Spike79
 
Iscritto dal: Aug 2004
Città: Provincia di Monza e Brianza
Messaggi: 6270
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 - Motherboard ASROCK B650 Pro RS - 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, 15: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, 15:47   #8
Spike79
Senior Member
 
L'Avatar di Spike79
 
Iscritto dal: Aug 2004
Città: Provincia di Monza e Brianza
Messaggi: 6270
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 - Motherboard ASROCK B650 Pro RS - NVME Kingston KC3000 2Tb - PSU FSP Hydro PRO 600w - Win 11 PRO
Spike79 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026 Qualcomm Snapdragon X2 Elite: l'architettura del...
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
007 Firs Light torna a mostrarsi all'eve...
MOVA Z60 Ultra Roller Complete: il Black...
Clair Obscur: Expedition 33 trionfa ai G...
Son quasi regalate: 135€ per le Squier b...
Windows 11: il copia-incolla via IA funz...
La scopa elettrica Mova K30 Mix crolla a...
Violazione in Almaviva, fornitore IT di ...
Amazon avvia un investimento da 3 miliar...
Ci fai tutto e ci giochi bene: a 999€ po...
Snapdragon o Exynos? Un sondaggio svela ...
TP-Link porta Netgear in tribunale: camp...
2 portatili tuttofare a 499€: uno ha 32G...
HONOR prepara il suo top di gamma compat...
Sony WH-1000XM6 a un prezzo senza preced...
Borderlands 4: 2K Games rende gratis il ...
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: 10:19.


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