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