Oracle bitand inconsistent behaviour
When you execute

select * from  BITAND_TEST;


you get 1,44115188075856E17.  It is not the same value you entered, you have lost some precision. Try this

select TO_CHAR (BITMAP, '9999999999999999999999') from  BITAND_TEST;


to see the difference. I get 

 144115188075855870