0123 можно преобразовать, выполнив команду (1 * 8 * 8) + (2 * 8) + (3), которая равна 83 в десятичной системе счисления. По какой-то причине восьмеричные числа с плавающей запятой недоступны.
Просто не используйте начальный ноль, если вы не собираетесь выражать литерал восьмеричной дробью.
Существует также префикс 0x, который обозначает, что литерал выражен в шестнадцатеричном формате (основание 16).
Ответ 2
Потому что целочисленные литералы, начинающиеся с 0, обрабатываются как восьмеричные числа.