判断某个整数是否为2的次方数
2008-05-08 01:20
411 查看
var
j: Integer;
begin
j := StrToInt(edt1.Text);
if (j > 1) and ((j and (j - 1)) = 0) then
ShowMessage('是2的次方数');
1. (j and (j - 1))
这部份条件里的and是进行位与运算
这里假设j符合条件(4)
0100 = 4 (j)
0011 = 3 (j-1)
----AND
0000 = 0
*符合条件的整数(1和0除外)经过这样运算结果为0
((j and (j - 1)) = 0)就比较好理解了
2. (j > 1)
理解了(1),这里就比较好理解.
j: Integer;
begin
j := StrToInt(edt1.Text);
if (j > 1) and ((j and (j - 1)) = 0) then
ShowMessage('是2的次方数');
1. (j and (j - 1))
这部份条件里的and是进行位与运算
这里假设j符合条件(4)
0100 = 4 (j)
0011 = 3 (j-1)
----AND
0000 = 0
*符合条件的整数(1和0除外)经过这样运算结果为0
((j and (j - 1)) = 0)就比较好理解了
2. (j > 1)
理解了(1),这里就比较好理解.
相关文章推荐
- 判断一个数是否是4的整数次方
- 判断一个整数是否是n^m次方类型数据,并比较乘法和除法性能差异
- 判断一个整数是否是2的n次方
- 判断一个整数是否是2的N次方【转载】
- 判断一个long类型正整数是否是2的n次方——华为笔试归来
- 判断一个数是否是2的整数次方
- c语言==判断一个数是否为2的整数次方【不使用循环】
- 【C#】一个方法判断整数是否是2的N次方
- 判断一个整数是否是2的阶次方数
- c语言==判断一个数是否为2的整数次方【不使用循环】(23)
- 判断一个整数x是否是2的N次方。
- 移位运算实际应用——判断整数N是否为2的阶次方
- offer题11 数值的整数次方&判断浮点型是否相等&降低求n次方的时间复杂度&3种错误处理方式
- 判断n是否是N的整数次方(N是2的N次方)
- 1.求一个整数的二进制中1的个数 2.判断一个数是否是2的n次方
- 判断n是否为a的x次方(n, a, x都为正整数)
- 判断一整数是否为2的阶次方数,找出最优的方法
- jQuery判断是否为正整数
- C语言:判断一个字符串是否为十进制整数
- 判断是否为整数的方法