Re: Can two block of memory do & operation meanwhile?
dolphin <jdxyw2004@gmail.com> writes:
Hi all
I have a question about & operation. For example, I have two
memory blocks like below:
char memory1[10];
char memory2[10];
Is there any way to do the & operation at one time for this two
arrays? Or I need ues a loop to do it by byte? Thanks!
std::transform(memory1,memory1+10,memory2,memory3,bitAnd);
------------------------------------------------------------------------
#include <algorithm>
#include <iostream>
#include <iterator>
#include <boost/bind.hpp>
unsigned char bitAnd(unsigned char a,unsigned char b){return(a&b);}
int main(){
unsigned char memory1[10]={1,2,3,4,5,6,7,8,10};
unsigned char memory2[10]={15,14,13,12,11,10,9,8,7,6};
unsigned char memory3[10];
// memory3 = memory1 & memory2
std::transform(memory1,memory1+10,memory2,memory3,bitAnd);
std::copy(memory3,memory3+10,std::ostream_iterator<int>(std::cout,", "));
std::cout<<std::endl;
return(0);
}
/*
-*- mode: compilation; default-directory: "~/src/tests-c++/" -*-
Compilation started at Wed Feb 4 10:49:20
SRC="/home/pjb/src/tests-c++/array-and.c++" ; EXE="array-and" ; g++ -g3 -ggdb3 -o ${EXE} ${SRC} && ./${EXE} && echo status = $?
1, 2, 1, 4, 1, 2, 1, 8, 2, 0,
status = 0
Compilation finished at Wed Feb 4 10:49:20
*/
--
__Pascal Bourguignon__