Выражение 1<<62 — единица, сдвинутая на 62 бита, то есть 2⁶². В записи ld, rd := 1<<62, 1<<62 обе переменные получают это значение, если оно помещается в int.
Что такое ld, rd := 1<<62, 1<<62 в контексте алгоритма?
Выражение 1<<62 — единица, сдвинутая на 62 бита, то есть 2⁶². В записи ld, rd := 1<<62, 1<<62 обе переменные получают это значение, если оно помещается в int.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Выражение 1<<62 — единица, сдвинутая на 62 бита, то есть 2⁶². В записи ld, rd := 1<<62, 1<<62 обе переменные получают это значение, если оно помещается в int.
При коротком объявлении без явного типа используется int, поэтому на 32-битной архитектуре такой код не скомпилируется. Иногда большое значение служит начальным «бесконечным» расстоянием для поиска минимума, но без алгоритма роль ld и rd неизвестна. Для переносимости задайте нужный тип и проверьте переполнение при последующем сложении.