Suppose I have a polynomial $p(x) = a_n x^n + ... + a_0$ where $a_n, \dots, a_0$ are integers. I would like to show that any root of this polynomial is either an integer or is far from an integer. That is, if $r$ denotes the fractional part of a root $x$, I want to show that either $r = 0$ or $r > w$ for some real valued $w$.

If the polynomial $p$ has degree one this is easy --- I know either $w = 0$ or $w \geq \frac{1}{|a_1|}$.

Is there a similar bound that can be shown for arbitrary polynomials, where the minimum non-zero value of $w$ can be bounded in terms of the sizes of $a_0, \dots, a_n$?