标题:已知2的n次方的值,如何求n?
只看楼主
ycxdtdz
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2011-5-31
结帖率:81.82%
已结贴  问题点数:0 回复次数:3 
已知2的n次方的值,如何求n?
已知2的n次方的值,如何求n?
搜索更多相关主题的帖子: 如何 
2011-07-15 13:57
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:5 
1 n是个整数呗 从零开始挨个试

2   n =lg(2^n)/lg2 也就是用对数

3   2^5=32=100000B 2^10=10000000000B 2^1=10B 看出来了?

欢迎补充
2011-07-15 19:25
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
得分:5 
根据2的N次方二进制码里只有一个1来通过循环右移与1比较测试。
程序代码:
        
        mov ax,1024 ;假如2的n次方是1024,
        mov cx,16   ;循环移动次数
        mov bx,0    ;计数器
s:
        inc bx
        rol ax,1    ;循环右移
        push ax     ;保存
        and ax,1    ;与1比较
        cmp ax,1
        jz ok       ;是则退出
        pop ax      ;否则继续
        jmp s
ok:
        sub bx,16   ;结果在bx里
        neg bx

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-07-16 22:35
色狼SL
Rank: 2
等 级:论坛游民
帖 子:5
专家分:21
注 册:2011-7-24
得分:0 
谢谢  3楼   
2011-07-24 18:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-345551-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.212244 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved