Скачать MetaTrader 5

можно ли интерпретировать

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
StrikeR
88
StrikeR  

есть булевский массив, то есть теоретически заполненый только 0 и 1. 

что нужно нашаманить что бы прочитать его скажем как ulong, или инт, а дальше уже шаманить с цифрами. 

хоть направление какое нить дайте )

o_o
Модератор
24190
o_o  
StrikeR:

есть булевский массив, то есть теоретически заполненый только 0 и 1. 

что нужно нашаманить что бы прочитать его скажем как ulong, или инт, а дальше уже шаманить с цифрами. 

хоть направление какое нить дайте )

bool b=true;

ulong m=(ulong)b;

int k=int(b);

Igor Konyashin
3163
Igor Konyashin  

Приведение типов, да.

Выше уже написали)

Можно еще почитать об этом здесь

StrikeR
88
StrikeR  

не не )

мне бы

 

bool arr[100500]

разбить на строчки по 32-64 бита и представить их как числа в двоичной системе

вот сижу голову ломаю 

o_o
Модератор
24190
o_o  
StrikeR:

вот сижу голову ломаю 

1. операции побитового сдвига >>, << и &

2. или

StrikeR
88
StrikeR  
uint get_id(bool &arr[])
{
   uint temp[];
   int size = ArrayRange(arr,0);
   int num_of_elements = (int)ceil(size/32)+1;
   ArrayResize(temp,num_of_elements);
   
   for(int i=0;i<num_of_elements;i++)
   {
      uint t=0;
      int end = i*32+32;
      if(i == num_of_elements-1)
         end = size;
      for(int p=i*32;p<end;p++)
      {
         if(arr[p])
            t=t*2+1;
         else
            t=t*2+0;
      } 
      temp[i]=t;
   }
   uint id=temp[0];
   for(int i=0;i<num_of_elements-1;i++)
      id = id ^ temp[i+1];
   
   return id;
}
что то такое высралось и вроде работает ) мож кому понадобится
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий