Rotate Quaternion A by 180 degrees

I don't know what you mean with rotate a quaternion (which actually represents a rotation). But I guess you mean concatenate two quternions with one being a 180 degree rotation about some axis. In this case you can just use the quternion multipication for concatenating two rotations (There is rarely a case where you need to convert them to axis-angle representation). The quaternion for a 180 degree rotation about axis (x,y,z) is just (0,x,y,z).