<<

随笔之~ << find string.find

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-07 13:42:11
//1.string<< stringstream ss; ss.clear(); ss.str(""); ss << st.year <<st.month<<st.day; //int 2015 int 1 int 8 string strDate; ss >> strDate; //strDate:201518 int iTimeId = st.hour*12 + st.minute/5 //2.位数 CString szTimeId; szTimeId.Format("%d", 1000 + iTimeId); string strTimeId(szTimeId.Right(3).GetBuffer()); //保证取到的是3位数 //3. find STL的find,find_if函数提供了一种对数组、STL容器进行查找的方法。使用该函数,需 #include <algorithm> 我们查找一个list中的数据,通常用find(),例如: using namespace std; int main() { list<int> lst; lst.push_back(10); lst.push_back(20); lst.push_back(30); list<int>::iterator it = find(lst.begin(), lst.end(), 10); //

JAVA移位运算 << 郏高阳

99封情书 提交于 2019-12-04 22:14:11
移位运算符就是在二进制的基础上对数字进行平移。按照平移的方向和填充数字的规则分为三种:<<(左移)、>>(带符号右移)和>>>(无符号右移)。 在移位运算时,byte、short和char类型移位后的结果会变成int类型,对于byte、short、char和int进行移位时,规定实际移动的次数是移动次数和32的余数,也就是移位33次和移位1次得到的结果相同。移动long型的数值时,规定实际移动的次数是移动次数和64的余数,也就是移动66次和移动2次得到的结果相同。 三种移位运算符的移动规则和使用如下所示: <<运算规则:按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。 语法格式: 需要移位的数字 << 移位的次数 例如: 3 << 2,则是将数字3左移2位 计算过程: 3 << 2 首先把3转换为二进制数字0000 0000 0000 0000 0000 0000 0000 0011,然后把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位,最后在低位(右侧)的两个空位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 1100,则转换为十进制是12.数学意义: 在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方。 >>运算规则