function 类_数学_长整数对比(a, b)
-- 先去除前导0
while #a > 1 and a:sub(1, 1) == '0' do
a = a:sub(2)
end
while #b > 1 and b:sub(1, 1) == '0' do
b = b:sub(2)
end
-- 比较长度
if #a > #b then
return 1
elseif #a < #b then
return -1
end
-- 依次比较每一位
for i = 1, #a do
if a:sub(i, i) > b:sub(i, i) then
return 1
elseif a:sub(i, i) < b:sub(i, i) then
return -1
end
end
-- 相等
return 0
end
|