算法 - int code[8][1<<8]; 什么意思
本文介绍了算法 - int code[8][1<<8]; 什么意思的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
如题,在UVa213中,有一段代码是:
int code8;
还有:for(int i=0;i<(1<<len)-1;i++)
怎么理解?
解决方案
按位操作符参考:https://developer.mozilla.org...
<< (左移)
该操作符会将第一个操作数向左移动指定的位数。向左被移出的位被丢弃,右侧用 0 补充。
比如:
1 使用 32位 二进制
表示是
00000000000000000000000000000001
左移 3:
1<<3
结果的32位二进制是:
00000000000000000000000000001000
1
向前移动了3
位
转换成十进制是:8
其实就是2
的3
次方。
(1<<len)-1
的意思是,1
左移 len
位。得到一个数,然后减 1
。
1
左移动len
位其实就是2
的len
次方。
for(int i=0;i<(1<<len)-1;i++)
所以这个表达式意思是,循环2
的len
次方次。
这篇关于算法 - int code[8][1<<8]; 什么意思的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文