1500: 单位转换
1.描述
三师弟最近在复习考研,在复习计算机组成原理的时候,遇到了一个问题。就是在计算机存储里面的单位转换。我们都知道1MB=1024KB,1KB=1024B,1B=8bit,他在做题的时候经常会遇到格式各样的,比如多少MB,KB,B什么的,但是都要转换为bit,题目做的太多他都迷茫了,现在需要你通过程序来帮他解决这个问题。
输入
输入为多行未化简的数据,如xMB,xKB,xB,xbit,(1<=x<=50)
输出
输出为换算过后的数据,ybit
样例输入
1MB
1KB
1B
1bit
样例输出
8388608bit
8192bit
8bit
1bit
2.代码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int main()
{
char a[100],i,n;
while(~scanf("%s",a))
{
int t=0;
int x=strlen(a);
if(a[x-1]=='B')
{
if(a[x-2]=='M')
{
for(i=x-3; i>=0; i--)
{
a[i]=a[i]-'0';
t+=a[i]*pow(10,x-3-i);
}
printf("%dbit\n",((t*1024)*1024)*8);
}
else if(a[x-2]=='K')
{
for(i=x-3; i>=0; i--)
{
a[i]=a[i]-'0';
t+=a[i]*pow(10,x-3-i);
}
printf("%dbit\n",(t*1024)*8);
}
else
{
for(i=x-2; i>=0; i--)
{
a[i]=a[i]-'0';
t+=a[i]*pow(10,x-2-i);
}
printf("%dbit\n",t*8);
}
}
else
{
for(i=x-4; i>=0; i--)
{
a[i]=a[i]-'0';
t+=a[i]*pow(10,x-4-i);
}
printf("%dbit\n",t);
}
}
}
该代码示例是一个用于帮助理解计算机存储单位转换的程序,特别针对考研复习中的计算机组成原理部分。程序接收MB、KB、B或bit作为输入,并将其转换为bit输出。例如,1MB转换为8388608bit,1KB转换为8192bit,1B转换为8bit,1bit保持不变。这对于处理各种存储容量问题非常有用。
9530

被折叠的 条评论
为什么被折叠?



