我一直在看关于掩码的帖子,但仍然无法理解如何从 C 中的数字中提取某些位。
假设我们有一个int number 0001 1010 0100 1011,那么它的十六进制表示是否x1a4b正确?如果我想知道第 5 到第 7 个数字,101在这种情况下,我应该使用int mask= 0x0000 1110 0000 0000, int extract = mask&number?
另外我如何检查它是否是101?我想==不会在这里工作...非常感谢!
for(int i = 1; i < n; i = i ? 2){
for(int j = 0; j < n; j++){
if(i == j){
for(int k = 0; k < n; k++){
// Do something elementary
}
}else{
// Do another elementary thing
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正在做一些运动,有人可以帮我弄清楚吗?上面的算法?我知道如果只是两个外部嵌套循环,时间复杂度应该是?(nlogn)。但我不知道如何对待 if-else 语句。提前谢谢了!