I've got a hat on
I think, it's a bad pronunciation, you should hear the 'b' of the word bonaid!
Who wears a bonnet?
So you've never worn a hat? A bonnet is another Scottish word for a hat.
I've got a bonnet on is an acceptable answer after consulting a native speaker. So please update.
What's the difference between this and 'you have a hat on'?