1.scanf printf 

2.动态数组 vector

定义:vector<类型> 名字

常见操作:
(1)v.push_back(x)  在容器v末尾添加x
(2)v.pop_back() 删除末尾元素
(3)v.size()  返回容器大小
(4)v.clear()  清空容器
(5)v.front()  返回首位元素
(6)v.back()   返回末尾元素
(7)sort(v.begin(),v.end()) 排序
(8)reverse(v.begin().v.end()) 翻转

3.进制转换和位运算

10进制转n进制(短除法)

int x, n;
vector<int>v;
int main(){
	cin>>x;
	while(x){
		v.push_back(x%n);
		x /= n;
	}
	for (int it : v) cout << it;
	return 0;
}


n进制转10进制

#include<bits/stdc++.h>
using namespace std;

vector<int> v;

int main()
{
	int n, m = 2;
	string s;
	cin >> n >> s;
	int ans = 0, r = 1;
	for (int i = s.size()-1; i >= 0; i--)
	{
		ans += (s[i] - '0') * r;
		r *= 2;
	}
	cout << ans;
	
	return 0;
}


位运算:对二进制数按位进行运算

按位取反  ~  0->1  1->0
按位与    &  有0则0
按位或    |  有1则1
按位异或  ^  相同为0,不同为1(不进位加法)  
左移位   <<  左移一位相当于10进制数乘了2
右移位   >>  右移一位相当于10进制数除了2

0 条评论

目前还没有评论...