H3PO3 basicity is 2 even though the acid has 3 H's. why?
No, no that isn't the way you calculate the basicity of an acid!! Basicity is defined as the no. of ionizable or replacable hydrogen atoms in an acid on reaction with a base. It is NOT necessarily the no. of hydrogen atoms in the molecular formula of the acid. The basicity is determined by the number of H atoms attached directly to the O atom in the molecule. In order to find the no. of replacable hydrogen atoms in H3PO3, we must thus know its stucture:
Here since 2 H atoms are directly linked to O thus forming 2 -OH groups, therefore the basicity of H3PO3 is 2.