- 分享
第16章节课题笔记
- @ 2026-1-11 10:50:56
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 条评论
目前还没有评论...