The explanation is interesting here.  I tried the same in C++, and worked a bit extra to make sure the compiler won't optimize away the divisions (looking at the assembly output, it may optimize it away if you're not careful).  Indeed, I get 2 with C++.

And here's why:

C++ does the equivalent of 

IntegerPart@Divide[x, Divide[x, 2]]

(* ==&gt; 2 *)


while in Mathematica you're computing the equivalent of

x*(1/((1/2)*x))


which gives a different result.

If I do the calculation as (x* (1/ (0.5*x))) in C++, then the result is less than 2 and the integer part is 1.

Relevant reading:


Is there a difference between Divide[a,b] and a/b?


Why IntegerPart[x/(x/2)]=1?
I'm reading this description on sensor size:


  Digital compact cameras have substantially smaller sensors offering a
  similar number of pixels. As a consequence, the pixels are much
  smaller, which is a key reason for the image quality difference,
  especially in terms of noise and dynamic range.


Could you please elaborate on the last sentence: what's the relation between sensor size and image quality? In particular, what are the advantages and disadvantages of a small sensor (of a compact camera, in contrast to a large sensor of a DSLR camera)?
