今天要来练习的是
二进制转十进制的练习
程序码:
#include<iostream>
using namespace std;
int main()
{
char s[8], dec[8];
while( cout <<"Input four digit binary: ",cin >> s )
{
if(s[0] == 49){
dec[0] = 8;
}else{
dec[0] = 0;
}
if(s[1] == 49){
dec[1] = 4;
}else{
dec[1] = 0;
}
if(s[2] == 49){
dec[2] = 2;
}else{
dec[2] = 0;
}
if(s[3] == 49){
dec[3] = 1;
}else{
dec[3] = 0;
}
cout << "Decimal is " << dec[0]+dec[1]+dec[2]+dec[3];
endl(cout);
endl(cout);
}
return 0;
}
执行结果:
Input four digit binary: 0000
Decimal is 0
Input four digit binary: 0001
Decimal is 1
Input four digit binary: 0010
Decimal is 2
Input four digit binary: 0011
Decimal is 3
Input four digit binary: 0100
Decimal is 4
Input four digit binary: 0101
Decimal is 5
--------------------------------
Process exited after 0.08787 seconds with return value 0
请按任意键继续...
程序码解释:
◆宣告阵列变数
char s[8] :用来储存cin读取键盘的值
char dec[8]:用来暂存二进制换算十进制的值
◆使用while回圈
使用while回圈让程序重复执行
判断值是一直重复读取键盘输入的值
◆使用if-else判断式
这边要由二进制换算成十进制
就要利用指数加权法
拿1101举例
1101=
=8+0+2+1
=11
了解以上原理
就利用if-else判断式来判断
举1011的例子来说
先判断输入的s[0]是否为1
这边是用char字元型态的阵列
1的ASCII为49
因此判断式为s[0] == 49
则进入if
将值为8=2的3次方存入阵列dec[]里面
其它三个以此类推
判断式为s[1] == 49
将值为4=2的2次方存入阵列dec[]里面
判断式为s[2] == 49
将值为2=2的1次方存入阵列dec[]里面
判断式为s[3] == 49
将值为1=2的0次方存入阵列dec[]里面
最後再将阵列dec[]所有的值加起来
就是十进制了
以上就练习到这边啦~
-End-
<<: [DAY 18]让BOT 24小时在线(GCP版本)
>>: Day19 部署 STUN / TURN server
延续昨日 今天我们来实现 管理者帐号跟团队介绍 其实这两点应该可以同时执行 因为只有管理者可以新增跟...
这样的食材,才299吃到饱,别挑剔了啦~ 这家好好吃肉,就位在前几天分享过的「咕咕家」正对面。 好好...
class Report(): def content(self): flex_message = ...
上传档案後制作超连结下载档案 - 抓档案名字跟下载的URL code 因为抓档案名字用forEac...
如果一件事情够重要,那麽即便所有条件都与你作对,你仍应该要做。 If something is im...