Genesis 5:32 says Noah became the father of Shem, Ham and Japheth when he was 500. The flood came whe he was 600, by then Shem should be 100 years old. But Genesis 11:10 says two years after the flood, when Shem was 100 years old…., it does not match the above verse, Shem should be 102 instead 100. Why a 2-year gap here? Or did I miss anything?
What you’re missing is the skill of interpreting a 400 year old translation into current language usage. Genesis 5:32 contains two separate thoughts. The first one is that Noah was 500 years old, and the second is that he had 3 sons. These are general statements that are not meant to imply that he had all three sons in his 500th year, nor even that he necessarily had any of them in that year. The specific nature of Genesis 11:10 tells us how old Shem was and when. It says he had his 100th birthday 2 years after the flood.
The original NIV translation gives us a better understanding of Genesis 5:32. “After Noah was 500 years old, he became the father of Shem, Ham, and Japheth.”