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.
Det kan maks blive til 8 bit, men det vides ikke på forhånd hvor mange bit det bliver på.
Det dur ikke at konvertere det til et heltal, skal bruge det som et bit mønster og det skal være hurtigt tilgængeligt. Men du siger da noget, jeg kan jo bare lave det som et array af integers.
det var sådan jeg havde tænkt: public static void main(String args[]) { Integer a[] = new Integer[5];
a[0] = new Integer(11); //1011 a[1] = new Integer(34); //100010 a[2] = new Integer(121); //1111001 a[3] = new Integer(251); //11111011 a[4] = new Integer(21); //10101
String bitCount = ""; for(int i=0;i<a.length;i++) { bitCount = bitCount + Integer.toBinaryString((a[i].intValue())); } System.out.println(bitCount); //divider med 8 og rund op == antal bytes }
Så er det jo trist jeg kommer for sent med mit svar :-) Men du kan jo forhåbentligt bruge det alligevel. Og måske er der andre :-) der også kunne have glæde af tippet.
Jkragh: Hjemmegjorte hacks er ikke altid pr definition dårlige. Det at den er dynamisk kan meget vel gøre den langsom, se blot et vector der er implementert som et array der bare kopierer sig selv over i et større array. QD::
Ikke altid måske, men som grundregel er det dumt at bruge et hjemmegjort hack når der findes noget standard.
Den der programmerer et hjemmegjort hack skal helt ud i alle hjørner af anvendelser før han skriver 5 linier kode der tager hensyn til alle fejlmuligheder, Og man kan sjældent se på koden hvad det er for sære specialtilfælde den tager hensyn til.
Så når en anden sidenhen skal modificere i programmet skal han hele vejen igennem samme process. Smarte hacks er en bjørnetjeneste at gøre dem der følger efter. Brug hellere en standardklasse. Den er dokumenteret og der er endda en chanc for at de der følger efter kender den allerede.
Og så var der iøvrigt ingen af de foreslåede løsninger der slog mig som rene performance vidundere (som ellers bør være stort set den eneste undskyldning for at genimplementere ting selv.)
Iøvrigt er BitSet netop lavet til at være effektiv. Den gemmer bits i et array af units det pt. er long's dvs. en blok indeholder 64 bit. På denne måde kan f.eks de fleste logiske operationer klares i næsten konstant tid. ( O(n/64) - ja, jeg ved..., det er principielt O(n), men nærmere O(1) i praksis hvis man har et begrænset antal bit.)
Den eneste metode i klassen der faktisk itererer over det fulde antal af bits i settet er toString() :-)
Koden er iøvrigt interessant læsning....
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.