The 31-year-old Clements became a free agent on Thursday, when San Francisco released the 10-year veteran. Clements was Buffalo's first-round pick in 2001 out of Ohio State and played for the Bills through 2006. He was the 49ers' top defensive signing in March 2007.
Clements started 16 games last season and had one sack and three interceptions.
"He's been a great cover corner," coach Marvin Lewis said. "He just wanted to get in a situation where he felt good and comfortable. I'm glad it worked out the way it did. He wanted to make sure he wasn't -- as he termed it -- going to play some place that was rebuilding. He wanted to be a piece that could push everything over the top."
The Bengals needed another cornerback after Joseph signed with Houston earlier in the week. They didn't have a replacement for Joseph on the roster, and weren't sure who would be available to team with cornerback Leon Hall.
Lewis said Clements, who turns 32 in December, is known for keeping in top shape.
"Anybody that's ever spent any time around Nate talks about his professionalism and preparation and everything that way," Lewis said. "You watch him play and you see how smart a player he is. So I think that will be fine. That's not been an issue."