A bandwidth-exchange cooperation algorithm based on the Nash bargaining solution (NBS) is proposed to encourage the selfish users to participate with more cooperation so as to improve the users' energy efficiency. As a result, two key problems, i.e. , when to cooperate and how to cooperate, are solved. For the first problem, a proposed cooperation condition that can decide when to cooperate and guarantee users' energy efficiency achieved through cooperation is not lower than that achieved without cooperation. For the second problem, the cooperation bandwidth allocations (CBAs) based on the NBS solve the problem how to cooperate when cooperation takes place. Simulation results show that, as the modulation order of quadrature amplitude modulation (QAM) increases, the cooperation between both users only occurs with a large signal-to-noise ratio (SNR). Meanwhile, the energy efficiency decreases as the modulation order increases. Despite all this, the proposed algorithm can obviously improve the energy efficiency measured in bits-per-Joule compared with non-cooperation.