Почему java и c# отличаются простым сложением

У меня есть два сниппета, один в Джава и один в C#.

float a = 1234e-3f;
float b = 1.23f;
float ca = 1.234e3f;
float d = 43.21f;
long e = 1234L;
int f = 0xa;
int g = 014;
char h = 'Z';
char ia = ' ';


byte j = 123;
short k = 4321;

System.out.println(a+b+ca+d+e+f+g+h+ia+j+k);

фрагмент Джава возвращает 7101,674

и в C#

float a = 1234e-3f;
float b = 1.23f;
float ca = 1.234e3f;
float d = 43.21f;
long e = 1234L;
int f = 0xa;
int g = 014;
char h = 'Z';
char ia = ' ';


byte j = 123;
short k = 4321;

Console.WriteLine(a+b+ca+d+e+f+g+h+ia+j+k);

выдает результат 7103,674.

почему я выключенный от 2 и что правильно?

6
0
169
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Разница в

int g = 014;

Это Восьмеричный в случае Java (014 == 12) и Десятичный в случае C# (014 == 14).

Другие вопросы по теме