Как сравнить два числа, если в 32-битной системе они больше 32-битных целых чисел? Два числа - это размер папок в байтах. Может кто-нибудь помочь мне, пожалуйста?

1 ответ1

1

Идея techie007 на самом деле полезна, когда вместо чисел используются дополненные строки :

set num1=666123456789
set num2=123450123456789
set "tmp1=               %num1%"
set "tmp2=               %num2%"
set pad1="%tmp1:~-15%"
set pad2="%tmp2:~-15%"
if %pad1% gtr %pad2% …

В этом коде вы можете сравнить 2 числа до 15 цифр:

  • numX содержит количество строк
  • tmpX содержит строки с префиксом 15 пробелов
  • padX содержит последние 15 символов в кавычках -> строки с добавленными номерами, теперь готов для сравнения!

Лучше поместить это в подпрограмму, если вам нужно сравнить больше чисел или, если применимо, отсортировать дополненные строки с помощью доступной команды sort .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .