bitset用法小结
https://www.cnblogs.com/zwfymqz/p/8696631.html
【算法竞赛学习笔记】Bitset详解和应用
C++ Bitsets基本用法
【C++】 bitset(位图)的使用
bitset用法总结
C++STL详解(十一)-- 位图(bitset)
bitset(位图)的使用与模拟实现
bitset详解c++
C++ 位运算 std::bitset类的使用介绍
3416:【例72.1】 二进制转化为十进制
#include<bits/stdc++.h>
using namespace std;
int n,x;
string s;
int main()
{
cin>>n>>s;
bitset<32> b(s);
x=b.to_ulong();
cout<<x<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main()
{
int ans;
string str;
cin>>ans>>str;
int num=0;
for(int i=0;i<=str.size();i++)
{
if( str[i]=='1' )
{
num+=pow(2,str.size()-1-i);
}
}
cout<<num<<endl;
return 0;
}
/*
3416:【例72.1】 二进制转化为十进制
http://bas.ssoier.cn:8086/problem_show.php?pid=3416
信息学奥赛一本通-编程启蒙 解题目录
https://blog.csdn.net/sxj_c/category_12384636.html
怎么把二进制转换为十进制(编程启蒙3416:【例72.1】 二进制转化为十进制)
https://blog.csdn.net/ptyz306/article/details/132023614
*/
#include<bits/stdc++.h>
using namespace std;
int main(){
long long n,cnt=0,ans=0;
cin>>n;//n表示有几位数
string a;
cin>>a;//用字符串来读取二进制数
for(int i=a.size()-1;i>=0;i--){//从最后一位往前算
ans+=int(a[i]-48)*pow(2,cnt);
/*这里,ans表示的是十进制数,我们是从后往前,
把二进制每一位代表的数都加起来,这里,cnt
代表的是当前计算到了倒数第cnt+1位,那这一位的
一个1就代表2^cnt(比如cnt=0,在计算倒数第一位)
时,这里的一个1就代表2^0(等于1),pow函数用于
计算2^cnt,int(a[i]-48)是将字符串的某一位改为数字
*/
cnt++;//接下来要计算下一位,那么cnt也要+1
}
cout<<ans;//输出答案,完美的解决了这个问题
return 0;
}
《小学生C++趣味编程》Scratch、C++
《小学生C++趣味编程》第1单元--第7单元
信息学奥赛一本通-编程启蒙:3004:练2.2 单句春晓
信息学奥赛一本通-编程启蒙 3004:练2.2 单句春晓
信息学奥赛一本通-编程启蒙 3004:练2.2 单句春晓_《春晓》是一首有名的诗,其中一句为“春眠不觉晓,处处蚊子咬。”试编一程序,输出-CSDN博客
《信息学奥赛一本通 编程启蒙C++版》3001-3482(Scratch、C、C++)部分