计算机基础知识:数制转换与计算机发展

需积分: 5 0 下载量 197 浏览量 更新于2024-07-12 收藏 2.28MB PPT 举报
"该资源是一份关于计算机基础知识的教材,主要涵盖了数制转换、计算机概述、计算机发展和特点等内容,旨在帮助学生准备全国计算机等级考试一级。课程包括理论与实践结合,强调上机操作和作业完成。" 在计算机科学中,数制之间的转换是一项基础但至关重要的技能。二进制、八进制和十六进制是计算机中常用的数制,它们与十进制之间的转换是理解和处理计算机数据的基础。二进制数(Base-2)由0和1组成,八进制数(Base-8)使用0-7这八个符号,而十六进制数(Base-16)则使用0-9以及A-F(代表10-15)这十六个符号。 转换成十进制数通常采用按权展开的方法。对于二进制、八进制或十六进制数,每一位的值等于该位上的数字乘以基数的相应幂次,然后将所有结果相加得到十进制值。例如,二进制数1101转换为十进制就是1*2^3 + 1*2^2 + 0*2^1 + 1*2^0 = 8 + 4 + 0 + 1 = 13。 反过来,将十进制转换为非十进制数,特别是转换为二进制,通常使用短除法。以十进制数25为例,将其除以2,得到商12余1,接着12再除以2得到商6余0,依此类推,直到商为0。然后将余数从下往上读取,即得到二进制数11001。 计算机的发展历程是科技进步的缩影。第一代电子计算机使用真空电子管作为主要元件,体积庞大且耗能极高。第二代计算机引入了晶体管,显著提高了性能和效率。随后的三代计算机分别基于集成电路、大规模集成电路,使得计算机更小、更快、更强大。现在,我们正处于第四代计算机时代,而第五代计算机,如生物计算机、量子计算机和神经网络计算机,正在研发之中,预示着计算技术的未来方向。 计算机的特点包括强大的运算能力、快速的运算速度、高精度、记忆功能以及逻辑判断能力。这些特点使得计算机在科研、商业、娱乐等各个领域都有广泛应用。例如,现代计算机能在极短的时间内进行大量复杂的计算,远超人类的能力,如计算圆周率这样的数学问题。 掌握数制转换和理解计算机的基本特性对于学习和使用计算机至关重要,无论是通过计算机等级考试还是日常的计算机操作,这些基础知识都是必不可少的。

#include<iostream> #include<stdio.h> #include<malloc.h> using namespace std;//声明命名空间 //链栈 typedef struct stacknode{ int data;//数据域 struct stacknode *next;//指针域 }stacknode,*LinkStack; //初始化栈,创建一个空栈 void initLinkStack(LinkStack &L){ L=NULL;//空链站 } //判断栈是否为空 int emptyLinkStack(LinkStack L){ if(L==NULL){ return 0; }else{ return 1; } } //入栈 void pushLinkStack(LinkStack &L,int e){ LinkStack p; p=(LinkStack)malloc(sizeof(stacknode)); p->data=e; p->next=L; L=p; } //出栈 void popLinkStack(LinkStack &L,int &e){ LinkStack p; p=L; e=L->data;//取出栈顶元素给e L=L->next; delete(p); } //十进制转2、8、16进制,采用除基倒取余法 void numberConversionL(int oNumber,int cvNumber){ LinkStack L; //创建栈 int x; initLinkStack(L); //初始化栈 while(oNumber){ x=oNumber%cvNumber; pushLinkStack(L,x);//余数入栈 oNumber=oNumber/cvNumber; } //余数出栈 while(emptyLinkStack(L)){ popLinkStack(L,x); switch(x){ case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9:cout<<x; break; case 10:cout<<"A"; break; case 11:cout<<"B"; break; case 12:cout<<"C"; break; case 13:cout<<"D"; break; case 14:cout<<"E"; break; case 15:cout<<"F"; break; } } } //主函数 int main(){ int oNumber,cvNumber; int oNumberL,cvNumberL; int choose; cout<<"请选择所需功能\n1.使用链栈转换\n2.退出程序"; cout<<endl; //换行 cin>>choose; while(choose!=2){ switch(choose){ case 1:{ cout<<"请输入要转换的十进制数:"<<endl; cin>>oNumberL; cout<<"请输入要转换至的进制,仅限输入2、8以及16:"<<endl; cin>>cvNumberL; numberConversionL(oNumberL,cvNumberL); break; } default: cout<<"\n!!!您的选择不正确,请重新选择!!!\n"; } cout<<endl; //换行 cout<<"请选择所需功能\n1.使用链栈转换\n2.退出程序"; cout<<endl; //换行 cin>>choose; } return 0; }这段代码数制转换器的研究背景和意义

2023-06-08 上传