Whether or not you get a favorable exchange rate will depend on a number of factors.
The current exchange rate.
How close the business is to a bank, some smaller communities do not have a local bank
How much US funds the business gets
How big a business it is.
Major retailers will offer the best deal, but if the exchange rate is really close they may only accept at Par.
Cash only campgrounds often will not accept U$.
US change will only be accepted at Par, you will not get an exchange rate on it. Keep in mind that US coins may not work in vending machines.
Change is given in Canadian $$
Often large US bills are not accepted. Many retailers have signs saying no $50.00 or $100.00 US bills.
If you are bringing US cash, exchange what you might need once you enter Canada.
Remember accepting U$ is a courtesy, not a legal requirement for Canadian Businesses. Most US businesses unless really close to the border will not accept any Canadian cash.