On Sunday 03 April 2005 18:16, Daniel Feist wrote:
Hi Leute, angenommen, wir hätten einen Integerwert, beispielsweise 'int i = 36;' und wollen herausfinden, welche binären Bits gesetzt sind. Die Zahl 5 beispielsweise, sieht binär so aus: 0000000000000101 - also sind 2 Bits gesetzt. Kann mir da jemand weiterhelfen?
Vielen Dank schonmal im vorraus!
Hallo Google is your friend: http://groups-beta.google.com/group/comp.lang.c++/browse_frm/thread/aace268b... In ein Programm gegossen, zum Bleistift: #include <iostream> int bitcount(unsigned n) { int count = 0; while (n) { n &= (n-1); ++count; } return count; } int main(int argc, char **argv) { if (argc != 2) { std::cout << "Usage " << argv[0] << " number\n"; return -1; } std::cout << "bitcount(" << argv[1] << ") = " << bitcount(atoi(argv[1])) << "\n"; return 0; } Gruß Norbert