如何以数学方式获得有符号的32位整数位值?

时间:2014-08-13 18:41:25

标签: c#

我有一个数字(理想情况下,我想为任何地方值执行此操作。)

Int32 _num = 2147483647;

我想得到数百万的价值(7)?

我可以卖光并说出

 Int32 _num = 2147483647;
 string str_num = _num.ToString().Substring(3).Remove(1);

或者,

int millions = (_num / 1000000) % 10;

必须有办法在没有任何子串,删除或模数的情况下获得数百万的数据?

3 个答案:

答案 0 :(得分:2)

像这样:

int millions = (_num / 1000000) % 10;

答案 1 :(得分:0)

你可以划分,然后得到十。 (2147483647 / 1000000) % 10

答案 2 :(得分:0)

由于问题已更改为不包括模数运算符:

(num / 1000000) - (num / 10000000)*10

虽然这涉及到额外的操作,但仅仅使用%并且不那么直观会更昂贵。