BYTE与_int64转换

BYTE workP[8]={8,7,6,5,4,3,2,1};
 _int64 woe=0;

 _int64 bitMask[8];
 _int64 bitMaskTemp=1;
 bitMask[0]=1;
 for(int j=1;j<=56;j++)
 {
  bitMaskTemp=2*bitMaskTemp;
  if(j==8)
   bitMask[1] = bitMaskTemp;
  if(j==16)
   bitMask[2] = bitMaskTemp;
  if(j==24)
   bitMask[3] = bitMaskTemp;
  if(j==32)
   bitMask[4] = bitMaskTemp;
  if(j==40)
   bitMask[5]= bitMaskTemp;
  if(j==48)
   bitMask[6] = bitMaskTemp;
  if(j==56)
   bitMask[7] = bitMaskTemp;
 }

 for(int i=0;i<8;i++)
 {
  woe+=workP[i]*bitMask[i];

 }

 BYTE a0=woe & 0xFF;
 BYTE a1= (woe>>8) & 0xFF;
 BYTE a2=(woe>>16) & 0xFF;
 BYTE a3=(woe>>24) & 0xFF;
 BYTE a4=(woe>>32) & 0xFF;
 BYTE a5=(woe>>40) & 0xFF;
 BYTE a6=(woe>>48) & 0xFF;
 BYTE a7=(woe>>56) & 0xFF;

posted on 2011-12-28 16:57  wqj1212  阅读(885)  评论(0编辑  收藏  举报

导航