已知等比数列{an}的前n项和为sn=a.2^n+b,且a1=2,求a,b的值及数列{an}的通项公式