我正在添加一系列 8196 个 64 位无符号整数,并且我需要将运行总计“翻转”回零并从那里继续计数......就像“正常”编程语言在相关方面所做的那样INT_MAX 上限。
正如测试脚本所示,将 1 添加到边界值(FF、FFFF 等)只会继续增加总数。毫无疑问,这是一个功能,但我想将此特定实例限制为 64 位。
有什么方法可以限制bc
吗?
unset f
for ((i=0; i<8; i++)); do
f=${f}FF; echo -ne "$((${#f}/2)) bytes + 1 "
echo 'ibase=16; obase=10; ('$f'+1)' |bc
done
echo "I want 8th+1 to = 0000000000000000"
# output
#
# 1 bytes + 1 100
# 2 bytes + 1 10000
# 3 bytes + 1 1000000
# 4 bytes + 1 100000000
# 5 bytes + 1 10000000000
# 6 bytes + 1 1000000000000
# 7 bytes + 1 100000000000000
# 8 bytes + 1 10000000000000000
# I want 8th+1 to = 0000000000000000