小编yq8*_*yq8的帖子

使用C#重新排序整数位

我想问一下如何重新排序数字,Int32这样就可以得到最大的数字.这是一个可视化我想要做的事情的例子:

2927466  -> 9766422
12492771 -> 97742211
Run Code Online (Sandbox Code Playgroud)

我想在不使用System.Linq命名空间的情况下执行数字的排序,而不将整数转换为字符串值.这是我到目前为止所得到的:

public static int ReorderInt32Digits(int v)
    {
        int n = Math.Abs(v);
        int l = ((int)Math.Log10(n > 0 ? n : 1)) + 1;
        int[] d = new int[l];
        for (int i = 0; i < l; i++)
        {
            d[(l - i) - 1] = n % 10;
            n /= 10;
        }
        if (v < 0)
            d[0] *= -1;
        Array.Sort(d);
        Array.Reverse(d);
        int h = 0;

        for (int i = 0; …
Run Code Online (Sandbox Code Playgroud)

c# sorting numbers int32

0
推荐指数
1
解决办法
4244
查看次数

使用内联汇编计算数字的位数

如何使用 Delphi 的内联汇编器获取数字的位数?

例如 :

13452     should return 5
1344      should return 4
9721343   should return 7
Run Code Online (Sandbox Code Playgroud)

等等

我的尝试是这样的:

function CalculateLength(Number : integer) : Integer;
begin
asm
  PUSH Length(Number)
  MOV @Result, EAX
end;
end;
Run Code Online (Sandbox Code Playgroud)

delphi assembly inline-assembly

-1
推荐指数
1
解决办法
1560
查看次数

标签 统计

assembly ×1

c# ×1

delphi ×1

inline-assembly ×1

int32 ×1

numbers ×1

sorting ×1