Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 24th, 2012  |  syntax: None  |  size: 1.07 KB  |  hits: 11  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Most probable bits in random integer
  2. void accumulateResults(int random, int bitSet[15]) {
  3.     int i;
  4.     int isBitSet;
  5.     for (i=0; i < 15; i++) {
  6.         isBitSet = ((random & (1<<i)) != 0);
  7.         bitSet[i] += isBitSet;
  8.     }
  9. }
  10.  
  11. int main() {
  12.     int i;
  13.     int bitSet[15] = {0};
  14.     int times = 10000000;
  15.     srand(0);
  16.  
  17.     for (i=0; i < times; i++) {
  18.         accumulateResults(rand(), bitSet);
  19.     }
  20.  
  21.     for (i=0; i < 15; i++) {
  22.         printf("%d : %dn", i , bitSet[i]);
  23.     }
  24.  
  25.     system("pause");
  26.     return 0;
  27. }
  28.        
  29. static void accumulateResults(int random, int[] bitSet)
  30. {
  31.     int i;
  32.     int isBitSet;
  33.     for (i = 0; i < 15; i++)
  34.     {
  35.         isBitSet = ((random & (1 << i)) != 0) ? 1 : 0;
  36.         bitSet[i] += isBitSet;
  37.     }
  38. }
  39.  
  40. static void Main(string[] args)
  41. {
  42.     int i;
  43.     int[] bitSet = new int[15];
  44.     int times = 10000000;
  45.     Random r = new Random();
  46.  
  47.     for (i = 0; i < times; i++)
  48.     {
  49.         accumulateResults(r.Next(), bitSet);
  50.     }
  51.  
  52.     for (i = 0; i < 15; i++)
  53.     {
  54.         Console.WriteLine("{0} : {1}", i, bitSet[i]);
  55.     }
  56.  
  57.     Console.ReadKey();
  58. }