以下两条输出语句分别输出什么

float a = 1.0f; 
cout << (int)a << endl; 
cout << (int&)a << endl; 
cout << boolalpha << ((int)a==(int&)a) << endl; //输出什么 
float b = 0.0f; 
cout << (int)b << endl; 
cout << (int&)b << endl; 
cout << boolalpha << ((int)b==(int&)b) << endl;//输出什么 

答:第一处输出 false,第二处输出 true。