"Yannick Duch�ne (Hibou57)" wrote in message news:op.v9bmlfrvule2fv@douda-yannick... ... >I still can't explain the first and the second interpretation. In the >first case "10 ** I" seems to be interpreted as "(10 ** I) mod 256" and >"Natural'Pos (10 ** I)" seems not. Yes, that's right of course. In the first case, everything has your modular type, in the latter case the expression has type Universal_Integer (which is obviously different). Ada always prefers non-universal types, so those are only used in rare circumstances. Randy.