1e6+5 = 1000005
表示很大的數時,以前都是瘋狂巧零,如果用1e6+5 = 1000005來代替的話會方便很多,而且也不容易出錯。int mid=(l+r)>>1;//比特操作
用二進制的移位操作,來進行簡單的乘除法,左移(>>)相當於乘,右移(<<)相當於除fill函數,fill與memset函數的區別
因爲memset函數按照字節填充,所以一般memset只能用來填充char型數組,(因爲只有char型佔一個字節)如果填充int型數組,除了0和-1,其他的不能。因爲只有00000000 = 0,-1同理,如果我們把每一位都填充“1”,會導致變成填充入“11111111”
而fill函數可以賦值任何,而且使用方法特別簡便
具體看小姐姐的博客:http://blog.csdn.net/liuchuo/article/details/52296646stoi / atoi
將string 轉化int的方法
stoi是string庫中的函數,他的參數是string
ato是c裏面的函數,他們都可以將字符串轉爲int,參數是const char*,因此在用string時,必須調c_str()方法將其轉爲char*的字符串。
比如
string s=”123”;
int v=atoi(s.c_str());
int u=stoi(s);reverse() 反向
#include<algorithm>
#include<iostream>
int main()
{
int a[10] = {};
for(int i=0;i<10;i++)
{
a[i]=i;
}
//轉換0~5下標的元素
std::reverse(a,a+5);
for(int i=0;i<10;i++)
{
std::cout<<a[i]<<std::endl;
}
return 0;
}
ascii碼
a的ASCII碼97,記二進制:0110 0001
A的ASCII碼65,記二進制:0100 0001
剛好差了32string append方法的常用用法
添加幾個相同的字符:
如str1.append(5, ‘.’);
詳情:http://blog.csdn.net/air_wswn/article/details/7785739sscanf和sprintf
http://blog.csdn.net/noodies/article/details/4386570
http://blog.csdn.net/sjf331/article/details/339254向下取整和向上取整
http://blog.csdn.net/fightingforcv/article/details/50491311substr複製
http://blog.csdn.net/liuchuo/article/details/54599840