Math 如何在不使用模数(%)运算符的情况下获取数字的最后一位?
如果我们被告知不能使用模运算符,那么我们怎么能 找出数字的最后一位 例如Math 如何在不使用模数(%)运算符的情况下获取数字的最后一位?,math,modulus,Math,Modulus,如果我们被告知不能使用模运算符,那么我们怎么能 找出数字的最后一位 例如 N=2345,我们应该得到5 尝试提供一个通用的解决方案 我的发现: N- N/ 10 * 10 您提供的公式将起作用 一般来说,对于大于等于0的整数,这总是正确的 A%B=A-[A/B]*B,其中[x]表示最大整数您提供的公式有效 一般来说,对于大于等于0的整数,这总是正确的 A%B=A-[A/B]*B,其中[x]表示通过强制转换得到的最大整数。 但这需要一些检查之前 简单的例子: int num = 15; doub
N=2345,
我们应该得到5
尝试提供一个通用的解决方案
我的发现:
N- N/ 10 * 10
您提供的公式将起作用 一般来说,对于大于等于0的整数,这总是正确的
A%B=A-[A/B]*B,其中[x]表示最大整数您提供的公式有效 一般来说,对于大于等于0的整数,这总是正确的 A%B=A-[A/B]*B,其中[x]表示通过强制转换得到的最大整数。 但这需要一些检查之前 简单的例子:
int num = 15;
double d = num/10; //d = 1.5
num = num/10; //num = 1;
int lastNumber = (d - (double)num) * 10;
通过铸造。
但这需要一些检查之前
简单的例子:
int num = 15;
double d = num/10; //d = 1.5
num = num/10; //num = 1;
int lastNumber = (d - (double)num) * 10;
但不适用于双打。记得先转换成int。但是%10将不适用于双打。记得先转换成int。但是10%会