Chinese Language Stack Exchange is a question and answer site for students, teachers, and linguists wanting to discuss the finer points of the Chinese language. It's 100% free, no registration required.

@Cocowalla The 得 in this sentence is pronounced (děi). 走了啊！ means "Bye bye (in face to face conversation, don't use in forum or over phone)" and 我得走了 means "I should/must leave now". My English is not good enough to translate to native level, just approximate. As @ShouYa's answer, 我得走了 is way better than 我走了 in conversation.
–
Mengdi GaoApr 9 '12 at 6:11

@MdGao ah, thanks for clarifying, this makes sense now! I know the spoken word děi is 'to have', but didn't realise it shared the same character as de (得).
–
CocowallaApr 9 '12 at 19:03

From my experience, the use of 得 (dei， sometimes di) to mean "have to" is generally seen in Northern China, and rarely elsewhere. Interestingly, the use of "不得不" (bu de bu) to mean the exact same thing seems more prevalent, according to this thread.

Other combinations that can communicate similar meanings:

我该走了 (I should go)

是时候走了 ([It] is time to go)

我要走了 (I need to go)

(P.S.: Based on my amateurish understanding of the phrase, the use of "不得" to mean "cannot" is an abbreviation for the more ancient phrase "不得已", which translates to "cannot stop"/"does not have an alternative" （已 means "end"). This is possibly the same reason why in Cantonese, "得" (when used alone) means "can".

If this is true, then the word "得" here is indeed the same word that we commonly see it refer to (to have, to obtain), so the pronunciation of "得" as "dei" in Beijing Mandarin is probably a corruption (or a vernacular reading), which might be intended to differentiate it from the words 的 and 地 in this particular context. This explains why "bu de bu" does not have the same corruption.)