| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 437 人关注过本帖
标题:没事瞎想 :关于申请数组元素不固定的一个想法
取消只看楼主 加入收藏
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
结帖率:99.76%
收藏
已结贴  问题点数:20 回复次数:4 
没事瞎想 :关于申请数组元素不固定的一个想法
刚刚写了一段小程序   利用位运算来计算一个数字的二进制中包含的1的个数的

写完之后  突然想把这些1 都位于哪个位上  也返回给函数调用者

但是由于1的个数不固定  所以申请空间 不知道咋弄比较好

比如  (10)153=(2)10011001  返回1的个数是4 返回位置分别是  左1 左4 左5 左8
搜索更多相关主题的帖子: 二进制 元素 空间 
2013-12-18 10:35
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用rjsp在2013-12-18 11:15:33的发言:

1的个数不固定
但1的最大个数是一定的
恩,以dword类型为准  我的电脑应该是31个1

那设置60多个长度应该就够了

DO IT YOURSELF !
2013-12-18 11:25
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
code blocks  不支持内联汇编   无法测试了

DO IT YOURSELF !
2013-12-18 13:31
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
看了一下   bsf bsr 系列指令 均只是扫描第一个1  扫到或扫不到  并不继续下一个1的扫描

DO IT YOURSELF !
2013-12-18 14:20
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
终于弄出来了  代码写的太乱了  就不贴了  贴一下结果吧

程序代码:

 1的二进制里面有1个1  分别位于 D[0]

 2的二进制里面有1个1  分别位于 D[1]

 3的二进制里面有2个1  分别位于 D[0]  D[1]

 4的二进制里面有1个1  分别位于 D[2]

 5的二进制里面有2个1  分别位于 D[0]  D[2]

 6的二进制里面有2个1  分别位于 D[1]  D[2]

 7的二进制里面有3个1  分别位于 D[0]  D[1]  D[2]

 8的二进制里面有1个1  分别位于 D[3]

 9的二进制里面有2个1  分别位于 D[0]  D[3]
10的二进制里面有2个1  分别位于 D[1]  D[3]
11的二进制里面有3个1  分别位于 D[0]  D[1]  D[3]
12的二进制里面有2个1  分别位于 D[2]  D[3]
13的二进制里面有3个1  分别位于 D[0]  D[2]  D[3]
14的二进制里面有3个1  分别位于 D[1]  D[2]  D[3]
15的二进制里面有4个1  分别位于 D[0]  D[1]  D[2]  D[3]
16的二进制里面有1个1  分别位于 D[4]
17的二进制里面有2个1  分别位于 D[0]  D[4]
18的二进制里面有2个1  分别位于 D[1]  D[4]
19的二进制里面有3个1  分别位于 D[0]  D[1]  D[4]
20的二进制里面有2个1  分别位于 D[2]  D[4]
21的二进制里面有3个1  分别位于 D[0]  D[2]  D[4]
22的二进制里面有3个1  分别位于 D[1]  D[2]  D[4]
23的二进制里面有4个1  分别位于 D[0]  D[1]  D[2]  D[4]
24的二进制里面有2个1  分别位于 D[3]  D[4]
25的二进制里面有3个1  分别位于 D[0]  D[3]  D[4]
26的二进制里面有3个1  分别位于 D[1]  D[3]  D[4]
27的二进制里面有4个1  分别位于 D[0]  D[1]  D[3]  D[4]
28的二进制里面有3个1  分别位于 D[2]  D[3]  D[4]
29的二进制里面有4个1  分别位于 D[0]  D[2]  D[3]  D[4]
30的二进制里面有4个1  分别位于 D[1]  D[2]  D[3]  D[4]
31的二进制里面有5个1  分别位于 D[0]  D[1]  D[2]  D[3]  D[4]
32的二进制里面有1个1  分别位于 D[5]
33的二进制里面有2个1  分别位于 D[0]  D[5]
34的二进制里面有2个1  分别位于 D[1]  D[5]
35的二进制里面有3个1  分别位于 D[0]  D[1]  D[5]
36的二进制里面有2个1  分别位于 D[2]  D[5]
37的二进制里面有3个1  分别位于 D[0]  D[2]  D[5]
38的二进制里面有3个1  分别位于 D[1]  D[2]  D[5]
39的二进制里面有4个1  分别位于 D[0]  D[1]  D[2]  D[5]
40的二进制里面有2个1  分别位于 D[3]  D[5]
41的二进制里面有3个1  分别位于 D[0]  D[3]  D[5]
42的二进制里面有3个1  分别位于 D[1]  D[3]  D[5]
43的二进制里面有4个1  分别位于 D[0]  D[1]  D[3]  D[5]
44的二进制里面有3个1  分别位于 D[2]  D[3]  D[5]
45的二进制里面有4个1  分别位于 D[0]  D[2]  D[3]  D[5]
46的二进制里面有4个1  分别位于 D[1]  D[2]  D[3]  D[5]
47的二进制里面有5个1  分别位于 D[0]  D[1]  D[2]  D[3]  D[5]
48的二进制里面有2个1  分别位于 D[4]  D[5]
49的二进制里面有3个1  分别位于 D[0]  D[4]  D[5]

DO IT YOURSELF !
2013-12-18 14:55
快速回复:没事瞎想 :关于申请数组元素不固定的一个想法
数据加载中...
 
   



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

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