2013年2月27日

vc++ List Control控件获得所有选中行的序号

摘要: 方法一:POSITION pos = listCtrl.GetFirstSelectedItemPosition(); if (pos == NULL) // 没有选中的行else { while (pos) { int nItem = listCtrl.GetNextSelectedItem(pos); // nItem是所选中行的序号 } }方法二:for(int i = 0; i < listCtrl.GetItemCount(); ++i) { if(listCtrl.GetItemState(i, LVIS_SE... 阅读全文

posted @ 2013-02-27 15:20 zhuyf87 阅读(3896) 评论(0) 推荐(0) 编辑

x&(x-1) 表达式

摘要: 【面试题】以下代码结果是多少?#include <iostream>using namespace std;int func(int x){ int count = 0; while(x) { count++; x = x&(x-1); } return count;}int main(){ cout << func(9999) << endl; return 0;}func函数返回值是形参x转化为二进制后包含1的数量。每次while循环,执行一次x = x&(x-1),会将x用二进制表示时最右边的一个1变为0,同时coun... 阅读全文

posted @ 2013-02-27 09:46 zhuyf87 阅读(2591) 评论(0) 推荐(1) 编辑

十进制与二进制间的相互转换

摘要: 1. 二进制转十进制方法:“按权展开求和”例:(1011.01)2 =(1×2^3 + 0×2^2 + 1×2^1 + 1×2^0 + 0×2^(-1) + 1×2^(-2) )10=(8+0+2+1+0+0.25)10=(11.25)10规律:个位上的数字的次数是0,十位上的数字的次数是1,......,依次递增,而十分位的数字的次数是-1,百分位上数字的次数是-2,......,依次递减。注意:不是任何一个十进制小数都能转换成有限位的二进制数。2. 十进制转二进制(1)十进制整数转二进制数:“除以2取余,逆序排列,直到商为0”(除 阅读全文

posted @ 2013-02-27 09:32 zhuyf87 阅读(1001) 评论(0) 推荐(0) 编辑

导航