#java
Как это вышло, почему ответ 200? int a = 012; int b = 20; System.out.print(a * b) //result 200
Ответы
Ответ 1
В Java целочисленные литералы можно представить в разных системах счисления: Если число начинается с 0x - используется шестнадцатеричная. Если с 0b - двоичная. Если начинается просто с нуля - используется восьмеричная, как раз как в вашем случае. В остальных случаях используется десятичная система счисления. То есть получается, что a = 012 и a = 10 это одно и то же.
Комментариев нет:
Отправить комментарий