-2

端末で指定された数値が 2 の二乗であるかどうかを確認できるサブルーチンを .asm に作成したいと考えています。

例: 私は数字の 5 を選びました。2^x = 5 ですか? 私のサブルーチンは、除算の残りが 0 か 1 かをチェックするためにいくつかの除算を行います。これにより、5 が 2 の 2 乗であるかどうかがわかります。

たとえば、CI では次のコードを書きました。

    int square(int val){

        while (((val % 2) == 0) && val > 1)
            val = val/2;

        if(val == 1)
            return 1;

        else
            return 0;
    }

アセンブリで同等のものは何ですか?

4

1 に答える 1