"Bart�omiej �." wrote in message news:slrnbcec3j.rh.swierczu@staticline881.toya.net.pl... > Hello, > I'm starting in Ada, and I can't use same operators (like xor, and) in > my programs. I need to count crc. In Java I was writting: > #v+ > ... > crc=(crctable[((crc>>8)^bufor[start+i++]) & 0xFF]^(crc<<8))&0xFFFF; > ... > #v- > What I should use instand of 'xor' and 'and' oparator (becouse in Ada > they are logical oparator, not binary). For example, I replace crc<<8 by > crc*256, and crc>>8 crc/256, but what about xor? Check your compiler documentation. They MAY export a machine intrinsics package, which contains bitwise AND, OR, XOR, and such. Check your compiler documentation. Look for assembly language interfacing. You certainly could write a little routine in assembly language that XOR'ed two arguments and returned the result, and then hook it up to the Ada. Also check your compiler documentation, for information about machine code insertions. CAUTION: Machine code insertions in Ada are NOT something a novice should be tackling, but, occasionally, for political reasons, you can get management approval for a machine code insertion where you couldn't get approval for an assembly language subroutine. (Been there, done that, didn't WANT the T-shirt.)