21. marts 2001 - 14:59Der er
10 kommentarer og 1 løsning
Fra signed til unsigned værdi, hvordan?
Jeg har en byte, som indeholder værdien 255! Men pga. Java\'s desværre meget strenge håndtering af integers som altid værende \"signed\", bliver værdien repræsenteret som -1. Jeg er interesseret i at kopiere værdien 255 - altså bitsekvensen 11111111 (hex: 0xFF) - ind i en integer variabel. Desværre skal Java absolut tolke værdien som -1, hvilket betyder at min integer nu indeholder -1 og IKKE 255 (\"unsigned\"), som det var meningen! Hvad gør jeg??? (længe leve C/C++, hvor alt er så nemt!!!)
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
... i C havde jeg bare brugt en char (som er 8-bit) og lavet en type cast til en int. Jeg tror diskussionen om hvad der er bedst (C/C++ eller Java) hører hjemme over en øl på den lokale bodega lørdag aften. Det kommer nok meget an på hvad man skal lave...
Når byten som er signed skal lave til en int sker følgende.
byte = 11111111 int til at starte med 00000000000000000000000000000000 så blive byt kopieret over i int 00000000000000000000000011111111 men for at bevare sign bliver bit 7 i byte expanderet hele vejen op i int\'en så int bliver til 11111111111111111111111111111111 men så kommer vi med en lille & og vupti 00000000000000000000000011111111 Og så passer værdien.
Og nu er det da ligeså nemt som at kaste :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.