C语言程序设计-二进制数制转换系统

C语言程序设计-二进制数制转换系统
C语言程序设计-二进制数制转换系统

《高级语言程序设计》课程设计报告书

题目:二进制数制转换系统

专业:嵌入式开发方向

学号:141009122

学生姓名:李鲁豫

指导教师:路玲

完成日期:2015.6.23

目录contens

1.题目及要求 (1)

1.1 功能概述 (1)

1.2 功能分述 (1)

1.3 增加模块 (2)

1.4 题目理解 (2)

2.系统概要设计 (3)

2.1系统控制流程图…………………..………………………………………………………….

2.2数据的组织描述………………………………..…………………………………………….

2.3模块之间的参数设计………………………………………………………………………. 3.系统关键代码................................................................

3.1 主要代码……………………………………………….………………………………………….

3.2 系统流程图……………………………………………………………………………………….

4.程序调试 ........................................................................... 5.课程设计总结................................................................

5.1 问题与解决方法……………………………………………………………………………….

5.2 总结与反思……………………………………………………………………………………….

5.3 收获与感受……………………………………………………………………………………….

附录................................................................................................

一、题目及要求

i.功能概述

我所做的是二进制整数向十进制,八进制,十六进制转换的C语言程序。

它所实现的功能是:通过输入正确密码,登陆系统,键盘输入一组二进制整数,根据用户选择,实现向其他进制数制转换的目的。

ii.功能分述

◆登录系统:输入正确密码登录系统。

◆菜单:打印菜单,供用户选择。具备清屏功能,使界面更

加简洁。

◆二进制转十进制:定义字符数组,通过用户的键盘输入接

收数据,根据编写的算法,将二进制整数转换为十进制整

数。若输入为非二进制数,将提示输入错误。

◆二进制转八进制:先调用二进制转十进制的函数,再将十

1

进制数作为参数传递,通过递归调用,计算出十进制整数

转换为八进制整数。

◆二进制转十六进制:先调用二进制转十进制的函数,再将

十进制数作为参数传递,通过递归调用,计算出十进制整

数转换为十六进制整数。

◆退出系统:可以根据需求,循环输入或者退出程序。

iii.增加模块

◆登陆界面:维护知识产权,禁止陌生人登陆。

◆菜单模块:界面美观,可供用户选择;循环操作,更加便

利;清屏功能,使界面不再冗余。

◆二进制转换为三~九进制:增加了进制转换范围。

iv.题目理解

本题的要求是二进制的进制转换,根据数学算法,可以先将二进制转十进制,十进制再向其他进制进行转换,此时采用除n 取余的方法,再倒序输出结果,使用递归函数可以轻松的解决倒序输出的问题。

二、系统概要设计

i.系统控制流程图

ii.

◆宏定义:#define M 100;#define c 20

◆主要变量:intselect(选择,用于用户选择系统功能或退

出系统),m(二进制向十进制转换的结果,可以传递到八进

制,十六进制函数做参数),h(二进制转换为三~九进制时,

用户自定义转换为几进制数的参数);char a[M](用于存放

二进制数列)

iii.模块之间的参数设计

◆intmima();/*密码函数*/

mima:密码;无参,返回值类型:整型;函数功能:用户

输入正确密码,登陆系统。

◆void menu();/*菜单函数*/

menu:菜单;无参,无返回值;函数功能:打印菜单。

◆inttwotot(int *x);/*二进制转十进制函数*/

twotot:two to ten,二进制到十进制;接口参数类型:

整型指针型,返回值类型:整型;函数功能:二进制转十

进制,二进制每位上的数乘以权,然后相加之和即是十进

制数。

◆void tentoe(int n);/*十进制转八进制函数*/

tentoe:ten to eight,十进制到八进制;接口参数类型:

整型,无返回值;函数功能:当n>0时,通过递归函数的

调用,计算n%8的值,并倒序输出。

◆void tentos(int n);/*十进制转十六进制函数*/

tentos:ten to sixteen,十进制到十六进制;接口参数

类型:整型,无返回值;函数功能:当n>0时,通过递归

函数的调用,计算n%16的值,并倒序输出。

◆void tentotn(intn,int h);/*十进制转三九进制函数*/

tentotn:ten to three~nine,十进制到三九进制;接口

参数类型:整型,无返回值;函数功能:当n>0时,通过

递归函数的调用,计算n%h的值,并倒序输出。

◆int main(intargc, char *argv[]);/*主函数*/

main:主要的;返回值类型:整型;主函数。

三、系统关键代码

i.主要代码(不完整)

#define M 150 /*宏定义输入二进制的长度*/ #define c 20 /*宏定义密码可输入最大长度*/ intmima(); /*密码函数*/

void menu(); /*菜单函数*/

void clean(); /*清屏函数*/

void tentoe(int n); /*十进制转八进制函数*/ inttwotot(int *x); /*二进制转十进制函数*/

void tentos(int n); /*十进制转十六进制函数*/

void tentotn(intn,int h); /*十进制转三至九进制函数*/

int main(intargc, char *argv[]) /*主函数*/

{

system("COLOR 8f"); /*更改界面颜色*/

int select;创新

intm,h;

if(mima())

{

while(1)

{

menu();

scanf("%d",&select);

switch(select)

{

case 1:……

case 2:……

case 3:……

case 4:……

case 0:……

default:……

}

}

}

else

{

printf("\n密码错误!\n");

exit(0);

}

getchar();

return 0;

}

intmima() /*密码函数*/

{

char mm[c],*p=mm,ch;创新

char MM[8] = {'h','t','l','y','5','1','4','\0'};

int count=0;

ch=getch();

while(ch!=13&&count

则退出循环*/

{

if(ch==8) /*如果按下的是向前删除键,则...*/

{

if(count) /*如果密码串中字符数大于零,则

向前删除一个字符*/

{

p--;创新

count--;

printf("\b "); /*光标回退一格,将星号(*)改为空格*/

printf("\b"); /*光标重新回退一格*/

}

}

else if((ch<='Z'&&ch>='A')||(ch<='z'&&ch>='a')||(ch<='9'&&ch>='0')) /*如果输入的是密码的有效字*/ {

printf("*"); /*输出一个星号*/

count++;

*p=ch; /*记录密码内容*/

p++;

}

ch=getch(); /*等待输入下一个字符*/

}

mm[count]=0;

if(0 == strcmp(mm, MM))创新

return 1;

else

return 0;

}

void menu() /*打印菜单*/ {

……

}

void clean() /*函数功能:延时清屏,使用户

可以记录数据*/ {创新

……

}

inttwotot(int *x) /*函数功能:二进制转十进制*/ {

char a[M];

float m=0;

inti,t;

char *p=a;

scanf("%s",a);

i=strlen(a);

for(;*p!='\0';p++)

{

if(*p!='0'&&*p!='1')创新

{

m=-1;

printf("\n\t\t 输入错误!!!请输入正确的二进制数!!!\n");

break;

}

t=*p-'0';

if(t)

m+=pow(2,i-1);

i--;

}

*x=m;

}

void tentoe(int n) /*函数功能:当n>0时,通过递归函数的调用,

计算n%8的值,并倒序输出*/ {

if(n>0)创新

{

tentoe(n/8);

printf("%d",n%8);

}

}

void tentos(int n) /*函数功能:当n>0时,通过递归

函数的调用,

计算n%16的值,并倒序输出*/ {

……

}

void tentotn(intn,int h) /*函数功能:当n>0时,通过递归函数的调用,

计算n%h的值,并倒序输出*/ {创新

if(n>0)

{

tentoe(n/h);

printf("%d",n%h);

}

}

ii.算法流程图

图2. 二进制转换为十进制算法流程图

图3. 递归函数调用算法流程图(以n=31,十进制转八进制为例)

四、程序调试

图4. 系统登陆界面

图5. 输入密码错误界面

图6. 系统初始菜单界面

图7.二进制转八进制流程

图8.二进制转十进制流程

图9.二进制转十六进制流程

图10.二进制转三至九进制流程(以四进制为例)

图11.菜单功能选择错误

图12.数据输入错误

图13.系统退出界面

五、课程设计总结

i.问题与解决方法

◆问题:开始二进制转十进制采用定义int,键盘输入的方

法,发现位数过大会有溢出现象,而且输入非二进制数程

序也会执行。

解决方法:定义字符数组来接收键盘输入的二进制数,并

用if语句判断是否为二进制数。

◆问题:十进制转八、十六进制的倒序输出。

解决方法:采用递归函数,轻松解决。

◆问题:程序界面冗余,多次循环使用系统功能后,界面会

非常乱,不易看清。

解决方法:采用清屏函数,清除先前的文字。

◆问题:清屏过快,还未看清或记录数据,屏幕就被清屏函

数所清空。

解决方法:采用Sleep函数,延时清屏。

ii.总结与反思

系统功能总结:根据用户选择,进行二进制整数向三~十、十六进制整数转换,可提示错误,循环输入,退出系统。不足之处在于,不能转换小数部分和负数。

反思:编写程序时,应当协调好算法与输入、输出之间的联系,敲入代码时,应更加细心,避免不必要的错误发生。如果时

间充足,我会加入小数部分、负数的进制转换和二到十一~十五进制的转换。使系统功能更加丰富。

iii.收获与感受

本次的C语言程序设计,使我更加加深了对C语言的认识,许多在之前的学习中没有理解或者没有完全理解的问题,通过课程设计过程中的资料查询,同学讨论,都有了全新的认识和一些自己的理解。

对C语言的兴趣也更加浓厚,从以前的被动学习,到现在的有了学习兴趣,主动学习,都是自身的很大进步。

在同学讨论中,开拓了思维,有了许多不同于自己的想法,也增进了同学之间的感情。

算法的设计、程序的编排、代码的输入都锻炼了我的耐心与毅力,使今后的做事更加认真仔细。

总的来说,这次课程设计对我影响颇深,使我受益良多,希望我的付出也可以得到收获,取得一个优秀的成绩!

二进制、十进制和十六进制及其相互转换的公式

计算机内部是以二进制形式表示数据和进行运算的;计算机内的地址等信号常用十六进制来表示,而人们日常又习惯用十进制来表示数据。这样要表示一个数据就要选择一个适当的数字符号来规定其组合规律,也就是要确定所选用的进位计数制。各种进位制都有一个基本特征数,称为进位制的“基数”。基数表示了进位制所具有的数字符号的个数及进位的规律。下面就以常用的十进制、二进制、八进制和十六进制为例,分别进行叙述。 一.常用的三种计数制 1.十进制(Decimal) 十进制的基数是10,它有10个不同的数字符号,即0、1、2、3、…、9。它的计数规律是“逢十进一”或“借一当十”。处在不同位置的数字符号具有不同的意义,或者说有着不同的“权”。所谓的“权”就是每一位对其基数具有不同的倍数。例如,一个十进制数为 123.45=1×102十2×101十3×100十4×10-1十5×10-2 等号左边为并列表示法.等号右边为多项式表示法,显然这两种表示法表示的数是等价的。 在右边多项式表示法中,1、2、3、4、5被称为系数项,而102、101、100、10-1、10-2等被称为该位的“权”。 一般来说,任何一个十进制数”都可以采用并列表不法表不如下: N10=dn-1d n-2…d1d 0. d-1d-2…d-m 其中,下标n表示整数部分的位数,下标m表示小数部分的位数,d是0~9中的某一个数,即di∈(0,1,…,9)。同样,任意一个十进制数N都可以用多项式表示法表示如下: N10=dn-1×10n-1十…十d1×101十d 0×100十d-1×10-1十…十 d-m×10-m 其中,m、n为正整数,di表示第i位的系数,10i称为该位的权。所以某一位数的大小是由各系数项和其权值的乘积所决定的。 2.二进制(Binary) 二进制的基数是2,它只有两个数字符号,即0和1。计算规律是“逢二进一”或“借一当二”。例如:(101.01)2=1×23十1×22十0×21十1×20十0×2-1十1×2-2 任何一个二进制数N都可以用其多项式来表示: N2=dn-1×2n-1十dn-2×2n-2十…十d1×21十d 0×20十d-1×2-1十d-2×2-2十…十d-m×2-m 式中任何一位数值的大小都可以用该位的系数项di和权值2i的积来确定。 3.十六进制(Hexadecimal) 十六进制的基数为16,它有16个数字符号、即0~9、A~F。其中A、B、C、D、E、F分别代表十进制数的10、11、12、13、14、15。各位之间“逢十六进一”或者“借一当十六”。各位的权值为16i。例如:(2C7.1F)16=2×162十12×161十7×160十1×16-1十15×16-2 二.3种计数制之间的相互转换 对于同一个数,可以采用不同的计数制来表示,其形式也不同。如: (11)10=(1011)2=(B)16 1.R进制转换成十进制的方法 具体的方法是先将其并列形式的数写成其多项式表示形式,然后,经计算后就可得到其十进制的结果。这种方法披称为按权展开法。对于一个任意的R进制数N都可以写成如下形式: N=dn-1 dn-2…d1 d0d -1d-2…d-m =dn-1×Rn-1十…十d1×R1十d 0×R0十d-1×R-1十…十d-m×R-m 其中,R为进位基数,Ri是对应位的权值,di为系数项,特此式求和计算之后,即可以完成R进制数对十进制数的转换。 例如,写出(1101.01)2、(10D)16的十进制数。 (1101.01)2=1×23十1×22十0×21十1×20十0×2-1十0×2-2,

二进制数转换成十进制数是

二进制数转换成十进制 数是 集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)

七、基础选择题 1. 二进制数1110111.11转换成十进制数是( )。 A. 119.125 B. 119.75 C. 119.375 D. 119.3 2. 下列叙述中,正确的一条是( )。 A. 存储在任何存储器中的信息,断电后都不会丢失 B. 操作系统是只对硬盘进行管理的程序 C. 硬盘装在主机箱内,因此硬盘属于主存 D. 磁盘驱动器属于外部设备 3. 英文OS指的是( )。 A. 显示英文的屏幕 B. 窗口软件 C. 操作系统 D. 磁盘操作系统 4. 数字符号0的ASCII码十进制表示为48,数字符号9的ASCII码十进制表示为( )。 A. 56 B. 57 C. 58 D. 59

5. 目前使用的微型计算机,其主要逻辑器件是由( )构成的。 A. 电子管 B. 晶体管 C. 中、小规模集成电路集成电路 D. 大规模、超大规模集成电路 6. 微机正在工作时电源突然中断供电,此时计算机( )中的信息全部丢失,并且恢复供电后也无法恢复这些信息。 A. ROM B. RAM C. 硬盘 D. 软盘 7. 与外存储器相比,内存储器的主要特征是( )。 A. 存储大量的信息 B. 存储正在运行的程序 C. 能存储程序和数据 D. 能长期保存信息 8. 所谓“裸机”是指( )。 A. 单片机 B. 单板机 C. 不装备任何软件的计算机 D. 只装备操作系统的计算机 9. 构成计算机的电子和机械的物理实体称为( )。

计算机考试中各种进制转换的计算方法

二进制数第0位的权值是2的0次方,第1位的权值是2的1次方…… 所以,设有一个二进制数:0110 0100,转换为10进制为: 下面是竖式: 0110 0100 换算成十进制 第0位 0 * 20 = 0 第1位 0 * 21 = 0 第2位 1 * 22 = 4 第3位 0 * 23 = 0 第4位 0 * 24 = 0 第5位 1 * 25 = 32 第6位 1 * 26 = 64 第7位 0 * 27 = 0 + --------------------------- 100 用横式计算为: 0 * 20 + 0 * 21 + 1 * 22 + 1 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100 0乘以多少都是0,所以我们也可以直接跳过值为0的位: 1 * 2 2 + 1 * 2 3 + 1 * 25 + 1 * 26 = 100 2.2 八进制数转换为十进制数 八进制就是逢8进1。 八进制数采用 0~7这八数来表达一个数。

八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方…… 所以,设有一个八进制数:1507,转换为十进制为: 用竖式表示: 1507换算成十进制。 第0位 7 * 80 = 7 第1位 0 * 81 = 0 第2位 5 * 82 = 320 第3位 1 * 83 = 512 + -------------------------- 839 同样,我们也可以用横式直接计算: 7 * 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839 结果是,八进制数 1507 转换成十进制数为 839 2AF5换算成10进制: 第0位: 5 * 160 = 5 第1位: F * 161 = 240 第2位: A * 162 = 2560 第3位: 2 * 163 = 8192 +

二进制与十进制的转换(教案)

二进制与十进制的转换教案 【教学目的与要求】 1、熟悉数制的概念; 2、掌握位权表示法; 3、熟练掌握二进制与十进制之间的转换方法。 【课时安排】1课时。 【教学重点与难点】 1、难点:位权表示法十进制转化为二进制 2、重点:二、十进制间相互转换 【教学过程】(以下教师的语言、活动简称“师”,学生的活动简称“生”) (一)新课导入 生:加减乘除 师:对,我们最开始学习的就是十以内的加法,之后是两位数的加法,在两位数加法的学习中,老师是不是经常会说,要注意逢十进一?也就是我们平常说的别忘了进位。 (PPT展示)像这样按进位的原则进行记数的方法叫做进位记数制。“进位记数制”简称为“数制”或“进制”。我们平时用的最多的就是十进制了 那么,大家再想一下,还有没有其他的进制呢?比如:小时、分钟、秒之间是怎么换算的?生:1小时=60分钟1分钟=60秒 师:那我们平时会不会说我做这件事用了90分钟呢?不是吧,我们一般会说,用了一个半小时,也就是说:逢60进一,这就是60进制。 (PPT展示)由此可以推断出:每一种数制的进位都遵循一个规则,那就是——逢N进1。这里的N叫做基数。所谓“基数”就是数制中表示数值所需要的数字字符的总数,比如,十进制中用0——9来表示数值,一共有10个不同的字符,那么,10就是十进制的基数,表示逢十进一。 师:下面我们再引入一个新概念——“位权”,什么是位权呢?(PPT展示)大家看一一这个十进制数:1111.111,这7个1是不是完全一样的呢?有什么不同呢?第一个1表示1000,第二个1表示100,……

那么,这个“若干次”是多少呢?有没有什么规定呢?大家观察一下这个例子,以小数点为界,整数部分自右向左,依次是基数的0次、1次、2次、3次幂。小数部分,自左向右,分别是基数的-1次、-2次、-3次幂。 大家再看一下:2856.42这个十进制数,它的值是怎么算出来的呢? 这就叫做按权相加法。也就是让每一位上的数字字符乘以它所代表的权。那么,这种方法有什么用呢?这就是本节课的重点内容。 (二)数制转换 大家都知道,计算机运算时采用的是二进制,但人们在使用计算机解决实际问题时通常使用十进制,这就有一个十进制向二进制转换或由二进制向十进制转换的过程。 也就是说,在使用计算机进行数据处理时首先必须把输入的十进制数转换成计算机所能接受的二进制数;计算机在运行结束后,再把二进制数转换为人们所习惯的十进制数输出。这种将数由一种数制转换成另一种数制称为数制间的转换。 二进制的特点:只有二个不同的数字符号:0和1;逢二进1 1)二进制转十进制

实训1数制转换与逻辑运算

数字电子技术实验 实训1 数制转换与逻辑运算 一、实训涉及地基本知识 1.数制之间地转换 1)二进制转换成为十进制 每个二进制数乘以对应地加权因子,并将结果相加.(即按权展开之后,再相加) 将下列二进制数转换为十进制数: (01001011)B = (10100111011)B = 2)十进制转换成为二进制 除2取余法.(即长除法) 将下列十进制数转换为二进制数: (122)D = (152)D = 3)二进制与八进制、十六进制之间地转换 从最低有效位开始,将二进制按每组3位(或4位)分组,即可得等值地八进制(或十六进制). 用相反地过程可将八进制数(或十六进制数)转换为二进制数. 将下列二进制数分别转换为八进制数及十六进制数: (10100111011)B =

(110010100)B = 将下列数制转换成为二进制数: (263)O = (16C)H = 2. 逻辑运算 与运算:有0出0,全1为1; 或运算:全0出0,有1为1; 非运算:有0出1,是1为0; 与非运算:有0出1,全1为0;(先与后非,所以结果正好和“与运算”相反); 或非运算:全0出1,有1为0;(先或后非,所以结果正好和“或运算”相反); 异或运算:输入不同,输出为1;输入相同,输出为0; 同或运算:输入不同,输出为0;输入相同,输出为1. 3. 字符发生器地使用 打开Simulate ? Instruments ? Word Generator,出现图1-1所示地图标.双击之后出现图1-2所示地操作面板图. 图1-1 图标图1-2 操作面板图 字信号发生器是一个通用地数字激励源编辑器,可以采用多种方式产生32位地同步逻辑信号,用于对数字逻辑电路进行测试.在操作面板上,左侧是控制面板,右侧是字信号发生器地字符窗口.控制面板分为Controls(控制方式)、Display(显示方式)、Trigger(触发)、Frequency(频率)等几个部分. 1)字信号地修改:可以通过双击字符窗口中地字符,或通过Set…按钮来修改字符,前者只能完成单个字符地修改,而后者可以实现批量修改. 2)输出地控制:提供三种输出方式(也就是三种控制方式),分别是 Cycle ——从起始地址开始循环输出一定数量地数字信号(数量通过单击Set…按钮进行设定); Burst ——逐条单循环地输出从起始地址至终了地址地全部数字信号; Step ——单步输出数字信号;

任意二进制数转换为十进制数

任意二进制转十进制数 程序代码: #include #include #include long float change(char str[],int n) { int xsd,i; for(i=0;i=0;q++,j--) { if(str[j]=='1') zs+=powf(2,q); } if(xsd!=n+1) { for(int k=xsd;k

puts("\n请输入一个任意位数二进制数:"); gets(str); int n=strlen(str); printf("二进制带小数点(若有)总长为:n=%d 位\n",n); long float sum=change(str,n); printf("转换为十进制数为:sum=%lf\n",sum); } } 程序运行结果:

进制的转换与计算方法

一、从十进制到二进制 如果有人问: 10+10=? 您可能会不加思索地回答:“等于20。”这样的回答对不对呢?可以说对,也可以说不对,这要进行具体的分析。说对,是因为我们平时都是用十进制,也即用逢十进一的方法来进行计算的。但如果从下面即将介绍的二进制,即逢二进一的观点来看,那么,上述回答则是错的。 我们的祖先,很早以前就创造了十进制,并将它作为计数的基础,这是因为人类有十个手指和十个脚趾这个天生的计算工具。几千年来,人类一直沿用十进制,这是因为在一般情况下,使用十进制比用其他进制要方便得多。 但是,在日常生活中,并不是全都采用十进制来计数的。例如,一年有十二个月,这是十二进制;一小时等于六十分钟,一分钟等于六十秒,这是六十进制;一公尺等于三市尺,这是三进制;鞋、袜都是以双来计算的,一双等于两只,这是二进制。等等。 计算机作为一种计算工具,采用哪一种进制计数呢?计算机是由大量的电子器件组成的,在这些电子器件中,电路的通和断、电位的高和低,用两种数字符号“1”和“0”分别表

示,容易实现。二进制的运算法则很简单,加法法则四个,乘法法则四个,即: 0+0=0,0+1=1,1+0=1,1+1=10; 0×0=0,0×1=0,1×0=0,1×1=1 考虑到运算简便、节省器件、容易实现、经济、可靠等因素,因此,在计算机内部通常用二进制代码来作为内部存储、传输和处理信息的计数方法。 二、十进制 十进制数计数的特点是“逢十进一”。为了表示十进制的某位数,需要10个数字0,1,2,3,4,5,6,7,8,9,就是说十进制的基数为10。 在十进制数中,不同数位上的数字所表示的值是不相同的。例如在十进制数163和1267中,数字6都出现在十位数的位置上,因此,这两个数中的数字6的值都是60。通常,我们把某一固定位置上的计数单位叫做位权,例如:个位数的位权为100=1 (基数10的0次方) 十位数的位权为101=10 (基数10的1次方)

各种进制之间转换方法

各进制转换方法(转载) 一、计算机中数的表示: 首先,要搞清楚下面3个概念 ?数码:表示数的符号 ?基:数码的个数 ?权:每一位所具有的值 请看例子: 数制十进制二进制八进制十六进制 数码0~9 0~1 0~7 0~15 基10 2 8 16 权10o,101,102,…2o,21,22,…8o,81,82,…16o,161,162,…特点逢十进一逢二进一逢八进一逢十六进一 十进制4956= 4*103+9*102 +5*101+6*10o 二进制1011=1*23+0*22 +1*21+1*2o 八进制4275=4*83+2*82 +7*81+5*8o 十六进制81AE=8*163+1*162 +10*161+14*16o

二、各种进制的转换问题 1.二、八、十六进制转换成十进制 2.十进制转换成二、八、十六进制 3.二进制、八进制的互相转换 4.二进制、十六进制的互相转换 1、二、八、十六进制转换成十进制 方法:数码乘以相应权之和 2、十进制转换成二、八、十六进制 方法:连续除以基,直至商为0,从低到高记录余数

3、二进制、八进制的互相转换 方法: ?二进制转换成八进制:从右向左,每3位一组(不足3位左补0),转换成八进制 ?八进制转换成二进制:用3位二进制数代替每一位八进制数 例(1101001)2=(001,101,001)2=(151)8 例 (246)8=(010,100,110)2=(10100110)2 4、二进制、十六进制的互相转换 方法: ?二进制转换成十六进制:从右向左,每4位一组(不足4位左补0),转换成十六进制 ?十六进制转换成二进制:用4位二进制数代替每一位十六进制数 例(11010101111101)2=(0011,0101,0111,1101)2=(357D)16 例 (4B9E)16=(0100,1011,1001,1110)2=(100101110011110)2 三、各种进制数的运算

十进制数转换成二进制

一、十进制与二进制之间的转换 (1)十进制转换为二进制,分为整数部分和小数部分 ①整数部分 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。下面举例: 例:将十进制的168转换为二进制 得出结果将十进制的168转换为二进制,(10101000)2 分析:第一步,将168除以2,商84,余数为0。 第二步,将商84除以2,商42余数为0。 第三步,将商42除以2,商21余数为0。 第四步,将商21除以2,商10余数为1。 第五步,将商10除以2,商5余数为0。 第六步,将商5除以2,商2余数为1。 第七步,将商2除以2,商1余数为0。 第八步,将商1除以2,商0余数为1。 第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000 (2)小数部分 方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分 为零为止。如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。换句话说就是0舍1入。读数要从前面的整数读到后面的整数,下面举例: 例1:将0.125换算为二进制 得出结果:将0.125换算为二进制(0.001)2 分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25; 第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5; 第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0; 第四步,读数,从第一位读起,读到最后一位,即为0.001。 例2,将0.45转换为二进制(保留到小数点第四位) 大家从上面步骤可以看出,当第五次做乘法时候,得到的结果是0.4,那么小数部分继续乘以2,得0.8,0.8又乘以2的,到1.6这样一直乘下去,最后不可能得到小数部分为零,因此,这个时候只好学习十进制的方法进行四舍五入了,但是二进制只有0和1两个,于是就出现0舍1入。这个也是计算机在转换中会产生误差,但是由于保留位数很多,精度很高,所以可以忽略不计。 那么,我们可以得出结果将0.45转换为二进制约等于0.0111

二进制 各种转化

C语言中二进制十进制十六进制各是什么意思? 学按位要用到这些知识但又不懂! 匿名| 浏览1240 次问题未开放回答 推荐于2016-05-22 01:54:54 最佳答案 计算机中常用的数的进制主要有:二进制、八进制、十六进制,学习计算机要对其有所了解。2进制,用两个阿拉伯数字:0、1; 8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7; 10进制,用十个阿拉伯数字:0到9; 16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。 以下简介各种进制之间的转换方法:

一、二进制转换十进制 例:二进制“1101100” 1101100 ←二进制数 6543210 ←排位方法 例如二进制换算十进制的算法: 1*26 + 1*25 + 0*24 + 1*23 + 1* 22 + 0*21 + 0*20 ↑↑ 说明:2代表进制,后面的数是次方(从右往左数,以0开始) =64+32+0+8+4+0+0 =108 二、二进制换算八进制 例:二进制的“10110111011” 换八进制时,从右到左,三位一组,不够补0,即成了: 010 110 111 011 然后每组中的3个数分别对应4、2、1的状态,然后将为状态为1的相加,如:010 = 2 110 = 4+2 = 6 111 = 4+2+1 = 7 011 = 2+1 = 3 结果为:2673

三、二进制转换十六进制 十六进制换二进制的方法也类似,只要每组4位,分别对应8、4、2、1就行了,如分解为:0101 1011 1011 运算为: 0101 = 4+1 = 5 1011 = 8+2+1 = 11(由于10为A,所以11即B) 1011 = 8+2+1 = 11(由于10为A,所以11即B) 结果为:5BB 四、二进制数转换为十进制数 二进制数第0位的权值是2的0次方,第1位的权值是2的1次方…… 所以,设有一个二进制数:0110 0100,转换为10进制为: 计算:0 * 20 + 0 * 21 + 1 * 22 + 0 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100 五、八进制数转换为十进制数 八进制就是逢8进1。 八进制数采用0~7这八数来表达一个数。 八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方…… 所以,设有一个八进制数:1507,转换为十进制为: 计算:7 * 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839

第二节 数制及数制的转换(师用)

第一节计算机中数据的分类和表示方法巩固练习 一、填空题 1.(09年)英文符号MIPS表示的中文含义是__百万条指令/秒_____。 2.根据汉字编码方法的不同,可将汉字的输入码分为音码、形码、数字码和形音编码,常用的汉字输入方法五笔字型就属于形码编码,目前常用的智能ABC输入方法是属于音码编码。 3.将汉字国标码的两个字节的最高位分别置 1 也会得到该汉字的机内码。 4.(09年)汉字“啊”的机内码是B0A1H,对应的区位码是_1001H/1601______。 5.(12年)计算机内部传送的信息分为控制信息和数据信息两大类。 二、选择题 ( C )1.加工处理汉字信息时,使用汉字的。 A)外码 B)字型码 C)机内码 D)国标码 ( D )2.800个24×24点阵汉字字型码占存储器的字节数为。 A)72KB B)256KB C)57KB D)56.25KB ( A )3.计算机中存储数据的最小单位是。 A)字节 B)位 C)字 D)KB ( C)4.汉字国标码共有个汉字。 A)7445 B)3755 C)6763 D)3008 三、判断题 ( T )1.ASCII码是一种字符编码,而汉字的各种输入方法也是一种字符编码。 ( F )2.(09年)在微型计算机中ASCII码用7位表示,所以在计算机中也用7位存储。 ( F )3.(10年)计算机的运算速度MIPS是指每秒钟能执行几百万条高级语言的语句。 ( T )4.计算机中最小的编址单位是字节。 ( F )5.8个二进制位可以表示128种不同的状态。 第二节数制及数制的转换 本节要求 掌握各种数制及其转换方法 知识精讲 计算机处理各种信息时,首先需要将信息表示成为具体的数据形式,选择什么样的数制表示数,对机器的结构、性能和效率有很大的影响。二进制是计算机中数制的基础。二进制形式是指每位数码只取二个值,要么是“0”要么是“1”,超过1则要向上进位。计算机中采用二进制是因为二进制简单,仅有两个数字符号。 一、数制的组成 数制是指计数的方法,任何一种数制都有两个要素:即基数和权。 基数:我们称某进制数所使用的数字符号的个数为基数。 位权:数制中某一位上的1所表示数值的大小(所处位置的价值)。例如,十进制的123,1的位权是100,2的位权是10,3的位权是1。

数制转换练习-答案

数制练习 填空 1. 两个8位二进制数和01001011进行逻辑加的结果为。 2. 十六进制数对应的十进制数字是。 3. 已知一个带符号整数的补码由两个1和六个0组成,则该补码能够表示的最小整数是 -127 。 4. 二进制数和进行逻辑“与”运算,结果再与进行逻辑“或”运算,最终结果的十六进制形式为()。 5.Pentium处理器中的一个16位带符号整数,如果它的十六进制表示为FEDCH,那么它的十进制值为( -292)。 5. 对两个逻辑值1施行逻辑加操作的结果是 1 。 6. .若A=1100,B=0010,A与B运算的结果是1110,则其运算可以是算术加,也可以是逻 辑加 判断 1.每个十进制整数都可以精确的转换为二进制整数形式。N 2. 一个整数的补码就是其原码除符号位外取反加1。Y 单选 1. 下面关于计算机中定点数与浮点数的一些叙述 , 正确的是____B______ A. 定点数只能表示纯小数 B. 浮点数尾数越长 , 数的精度就越高 C. 定点数的数值范围一定比浮点数的数值范围大 D. 定点数就是用十进制表示的数 2. 下列有关 " 权值 " 表述正确的是____B______ A. 权值是指某一数字符号在数的不同位置所表示的值的大小 B. 二进制的权值是 " 二 ", 十进制的权值是 " 十 " C. 权值就是一个数的数值 D. 只有正数才有权值 3. 下列有关 " 基数 " 表述正确的是____B______ A. 基数是指某一数字符号在数的不同位置所表示的值的大小 B. 二进制的基数是 " 二”,十进制的基数是 " 十 " C. 基数就是一个数的数值 D. 只有正数才有基数 4. 十进制数 "13", 用三进制表示为____C______ B.110 5. 下列各数都是五进制数 , 其中____B______对应的十进制数是偶数。 B. 101 6. 一个某进制的数"lAl”,其对应十进制数的值为 300, 则该数为 C A. 十一进制 B.十二进制 C. 十三进制 D. 十四进制

二进制数转换成十进制数是

七、基础选择题 1. 二进制数1110111.11转换成十进制数是( )。 A. 119.125 B. 119.75 C. 119.375 D. 119.3 2. 下列叙述中,正确的一条是( )。 A. 存储在任何存储器中的信息,断电后都不会丢失 B. 操作系统是只对硬盘进行管理的程序 C. 硬盘装在主机箱内,因此硬盘属于主存 D. 磁盘驱动器属于外部设备 3. 英文OS指的是( )。 A. 显示英文的屏幕 B. 窗口软件 C. 操作系统

D. 磁盘操作系统 4. 数字符号0的ASCII码十进制表示为48,数字符号9的ASCII码十进制表示为( )。 A. 56 B. 57 C. 58 D. 59 5. 目前使用的微型计算机,其主要逻辑器件是由( )构成的。 A. 电子管 B. 晶体管 C. 中、小规模集成电路集成电路 D. 大规模、超大规模集成电路 6. 微机正在工作时电源突然中断供电,此时计算机( )中的信息全部丢失,并且恢复供电后也无法恢复这些信息。 A. ROM B. RAM

D. 软盘 7. 与外存储器相比,内存储器的主要特征是( )。 A. 存储大量的信息 B. 存储正在运行的程序 C. 能存储程序和数据 D. 能长期保存信息 8. 所谓“裸机”是指( )。 A. 单片机 B. 单板机 C. 不装备任何软件的计算机 D. 只装备操作系统的计算机 9. 构成计算机的电子和机械的物理实体称为( )。 A. 计算机系统 B. 计算机硬件系统 C. 主机

10. 在表示存储器的容量时,1MB的准确含义是( )。 A. 1000KB B. 1024GM C. 1000B D. 1024KB 11. 微型计算机的结构原理是采用( )结构,它使CPU与内存和外设的连接简单化与标准化。 A. 总线 B. 星形连接 C. 网络 D. 层次连接 12. 指令构成的语言称为( )语言。 A. 汇编 B. 高级 C. 机器

进制转换计算+ASCII表

一、二进制转化成其他进制 1. 二进制(BINARY)——>八进制(OCTAL) 例子1:将二进制数(10010)2转化成八进制数。 (10010)2=(010 010)2=(2 2)8=(22)8 例子2:将二进制数()2转化为八进制数。 ()2=(0. 101 010)2=(0. 5 2)8=()8 诀窍:因为每三位二进制数对应一位八进制数,所以,以小数点为界,整数位则将二进制数从右向左每3位一隔开,不足3位的在左边用0填补即可;小数位则将二进制数从左向右每3位一隔开,不足3位的在右边用0填补即可。 2. 二进制(BINARY)——>十进制(DECIMAL) 例子1:将二进制数(10010)2转化成十进制数。 (10010)2=(1x24+0x23+0x22+1x21+0x20)10=(16+0+0+2+0)10=(18) 10 例子2:将二进制数()2转化为十进制数。 ()2=(0+1x2-1+0x2-2+1x2-3+0x2-4+1x2-5)10=(0+++++)10=()10 诀窍:以小数点为界,整数位从最后一位(从右向左)开始算,依次列为第0、1、2、3………n,然后将第n位的数(0或1)乘以2的n-1次方,然后相加即可得到整数位的十进制数;小数位则从左向右开始算,依次列为第1、2、3……..n,然后将第n位的数(0或1)乘以2的-n次方,然后相加即可得到小数位的十进制数(按权相加法)。

3. 二进制(BINARY)——>十六进制(HEX) 例子1:将二进制数(10010)2转化成十六进制数。 (10010)2=(0001 0010)2=(1 2)16=(12) 16 例子2:将二进制数()2转化为十六进制数。 ()2=(0. 1010 1000)2=(0. A 8)16=()16 诀窍:因为每四位二进制数对应一位十六进制数,所以,以小数点为界,整数位则将二进制数从右向左每4位一隔开,不足4位的在左边用0填补即可;小数位则将二进制数从左向右每4位一隔开,不足4位的在右边用0填补即可。 (10010)2=(22)8=(18) 10=(12)16 ()2=()8=()10=()16 二、八进制转化成其他进制 1. 八进制(OCTAL)——>二进制(BINARY) 例子1:将八进制数(751)8转换成二进制数。 (751)8=(7 5 1)8=(111 101 001)2=(1)2 例子2:将八进制数()8转换成二进制数。 ()8=(0. 1 6)8=(0. 001 110)2=()2 诀窍:八进制转换成二进制与二进制转换成八进制相反。

PLC常用数制的解析及相互转换的方法

PLC常用数制的解析及相互转换的方法 一、什么是进位计数制数制也称计数制,是指用一组固定的符号和统一的规则来表示数值的方法。按进位的原则进行计数的方法,称为进位计数制。比如,在十进位计数制中,是按照“逢十进一”的原则进行计数的。 常用进位计数制: 1、十进制(Decimal notation),有10个基数:0 ~~ 9 ,逢十进一; 2、二进制(Binary notation),有2 个基数:0 ~~ 1 ,逢二进一; 3、八进制(Octal notation),有8个基数:0 ~~ 7 ,逢八进一; 4、十六进制数(Hexdecimal notation),有16个基数:0 ~~ 9,A,B,C,D,E,F (A=10,B=11,C=12,D=13,E=14,F=15) ,逢十六进一。 二、进位计数制的基数与位权 "基数"和"位权"是进位计数制的两个要素。 1、基数: 所谓基数,就是进位计数制的每位数上可能有的数码的个数。例如,十进制数每位上的数码,有"0"、"1"、"3",…,"9"十个数码,所以基数为10。 2、位权: 所谓位权,是指一个数值的每一位上的数字的权值的大小。例如十进制数4567从低位到高位的位权分别为100、101、102、103。因为: 4567=4x103+5x 102+6x 101 +7x100 3、数的位权表示: 任何一种数制的数都可以表示成按位权展开的多项式之和。 比如:十进制数的435.05可表示为: 435.05=4x102+3x 101+5x100+0x10-1 +5x 10-2 位权表示法的特点是:每一项=某位上的数字X基数的若干幂次;而幂次的大小由该数字所在的位置决定。

实数十进制转换二进制和二进制实数转换十、八、十六进制

答案为1、(213.4)10 = (11010101.01100)2 = (325)8 = (D5)16 2、(11001011.0101)2 = (203.3125)10 = (313)8 = (CB)16 (1) 213.4转换成二进制先转换整数部分再转换小数部分(十进制数字后边是d,二进制是2或者B) 213.4=(213)d+(0.4)d; 整数部分用除2法: (213)d=:(除2,商继续除2,余数从下往上就是二进制数) 213/2 商:余: 106 1 106/2 商余 53 0 53/2 商余 26 1 26/2 商余 13 0 13/2 商余 6 1 6/2 商余 3 0 3/2

商余 1 1 1/2 商余 0 1 余数从下往上(11010101)2就是213转化的二进制 小数部分用乘2法: (0.4)d=:(乘2满1写1然后小数部分继续乘以2,直到小数部分全部为零) 0.4*2=0.8(不满1为0) 0 0.8*2=1.6(满1取1、1.6-1=0.6) (1) 0.6*2=1.2(满1取1、1.2-1=0.2) (1) 0.2*2=0.4(不满1为0) 0 0.4*2=0.8(不满1为0) 0 ....... ..... .... ..... ..... 无限.... 从上往下取(01100.......) 乘下来如果小数部分可以全部为零为准确二进制纯小数(如(0.625)d=(0.101)2)是准确值,但是上边的例子是不行得,所以可以根据需要取到某精度。 于是:(213.4)d=(213)d+(0.4)d=(11010101)2+(01100)2=(11010101.01100)2 八进制和十六进制只能表示正整数,所以213.4要去掉小数部分成213再转换成八进制和十六进制 十进制转换八进制是除8:

二进制转换成十进制

二进制数转换成十进制数 二进制的1101转化成十进制 1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13 转化成十进制要从右到左用二进制的每个数去乘以2的相应次方不过次方要从0开始 相反用十进制的13除以2 每除一下将余数就记在旁边 最后按余数从下向上排列就可得到1101 十进制转二进制: 用2辗转相除至结果为1 将余数和最后的1从下向上倒序写就是结果 例如302 302/2 = 151 余0 151/2 = 75 余1 75/2 = 37 余1 37/2 = 18 余1 18/2 = 9 余0 9/2 = 4 余1 4/2 = 2 余0 2/2 = 1 余0 故二进制为100101110 二进制转十进制 从最后一位开始算,依次列为第0、1、2...位 第n位的数(0或1)乘以2的n次方 得到的结果相加就是答案 例如:01101011.转十进制: 第0位:1乘2的0次方=1 1乘2的1次方=2 0乘2的2次方=0 1乘2的3次方=8 0乘2的4次方=0 1乘2的5次方=32 1乘2的6次方=64 0乘2的7次方=0 然后:1+2+0 +8+0+32+64+0=107. 二进制01101011=十进制107.

由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。 二进制转十进制 本人有个更直接的方法,例如二进制数1000110转成十进制数可以看作这样: 数字中共有三个1 即第二位一个,第三位一个,第七位一个,然后十进制数即2的2-1次方+2的3-1次方+2的7-1次方即2+4+64=70 次方数即1的位数减一。如此计算只需要牢记2的前十次方即可在此本人为大家陈述一下:2的0次方是1 2的1次方是2 2的2次方是4 2的3次方是8 2的4次方是16 2的5次方是32 2的6次方是64 2的7次方是128 2的8次方是256 2的9次方是512 2的10次方是1024 2的11次方是2048 2的12次方是4096 2的13次方是8192 2的14次方是16384 2的15次方是32768 在这里仅为您提供前15次方,若需要更多请自己查询。 编辑本段十进制数转换为二进制数 十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。 十进制转二进制 用2辗转相除至结果为1 将余数和最后的1从下向上倒序写就是结果例如:19.95 转2进制分为两个步骤。 1、小数点前 19/2=9余1 9/2=4 余1

进制转换计算

二进制、八进制、十进制与十六进制 一、进制的概念 在计算机语言中常用的进制有二进制、八进制、十进制和十六进制,十进制是最主要的表达形式。 基数:基数是指一种进制中组成的基本数字,也就是不能再进行拆分的数字。二进制是0和1;八进制是0-7;十进制是0-9;十六进制是0-9+A-F(大小写均可)。也可以这样简单记忆,假设是n进制的话,基数就是【0,n-1】的数字,基数的个数和进制值相同,二进制有两个基数,十进制有十个基数,依次类推。 运算规则:运算规则就是进位或错位规则。例如对于二进制来说,该规则是“满二进一,借一当二”;对于十进制来说,该规则是“满十进一,借一当十”。其他进制也是这样。 三、二进制转化成其他进制 1. 二进制(Binary)——>八进制(Octal) 例子:将二进制数(10010)2转化成八进制数。(10010)2=(010 010)2=(2 2)8=(22)8 将二进制数(0.1010)2转化为八进制数。(0.10101)2=(0. 101 010)2=(0. 5 2)8=(0.52)8 诀窍:因为每三位二进制数对应一位八进制数,所以,以小数点为界,整数位则将二进制数从右向左每3位一隔开,不足3位的在左边用0填补即可;小数位则将二进制数从左向右每3位一隔开,不足3位的在右边用0填补即可。 2. 二进制(Binary)——>十进制(Decimal) 例子:将二进制数(10010)2转化成十进制数。 (10010)2=(1x24+0x23+0x22+1x21+0x20)10=(16+0+0+2+0)10=(18) 10将二进制数(0.10101)2转化为十进制数。 (0.10101)2=(0+1x2-1+0x2-2+1x2-3+0x2-4+1x2-5)10=(0+0.5+0.25+0.125+0.0625+0.03125)10=(0.96875)10 诀窍:以小数点为界,整数位从最后一位(从右向左)开始算,依次列为第0、1、2、3………n,然后将第n位的数(0或1)乘以2的n-1次方,然后相加即可得到整数位的十进制数;小数位则从左向右开始算,依次列为第1、2、3……..n,然后将第n位的数(0或1)乘以2的-n次方,然后相加即可得到小数位的十进制数(按权相加法)。 3. 二进制(Binary)——>十六进制(Hex) 例子:将二进制数(10010)2转化成十六进制数。(10010)2=(0001 0010)2=(1 2)16=(12) 16将二进制数(0.1010)2转化为十六进制数。 (0.10101)2=(0. 1010 1000)2=(0. A 8)16=(0.A8)16 诀窍:因为每四位二进制数对应一位十六进制数,所以,以小数点为界,整数位则将二进制数从右向左每4位一隔开,不足4位的在左边用0填补即可;小数位则将二进制数从左向右每4位一隔开,不足4位的在右边用0填补即可。 四、八进制转化成其他进制 1. 八进制(Octal)——>二进制(Binary) 例子1:将八进制数(751)8转换成二进制数。 (751)8=(7 5 1)8=(111 101 001)2=(111101001)2 例子2:将八进制数(0.16)8转换成二进制数。 (0.16)8=(0. 1 6)8=(0. 001 110)2=(0.00111)2 诀窍:八进制转换成二进制与二进制转换成八进制相反。 2. 八进制(Octal)——>十进制(Decimal) 例子1:将八进制数(751)8转换成十进制数。 (751)8=(7x82+5x81+1x80)10=(448+40+1)10=(489)10 例子2:将八进制数(0.16)8转换成十进制数。

常用数制及其相互转换

一、常用数制及其相互转换 在我们的日常生活中计数采用了多种记数制,比如:十进制,六十进制(六十秒为一分,六十分为一小时,即基数为60,运算规则是逢六十进一),……。在计算机中常用到十进制数、二进制数、八进制数、十六进制数等,下面就这几种在计算机中常用的数制来介绍一下。1.十进制数 我们平时数数采用的是十进制数,这种数据是由十个不同的数字0、1、2、3、4、5、6、7、8、9任意组合构成,其特点是逢十进一。 任何一个十进制数均可拆分成由各位数字与其对应的权的乘积的总和。例如: ? ? ? 这里的10为基数,各位数对应的权是以10为基数的整数次幂。为了和其它的数制区别开来,我们在十进制数的外面加括号,且在其右下方加注10。 2.二进制数 在计算机中,由于其物理特性(只有两种状态:有电、无电)的原因,所以在计算机的物理设备中获取、存储、传递、加工信息时只能采用二进制数。二进制数是由两个数字0、1任意组合构成的,其特点是逢二进一。例如:1001,这里不读一千零一,而是读作:一零零一或幺零零幺。为了与其它的数制的数区别开来,我们在二进制数的外面加括号,且在其右下方加注2,或者在其后标B。 任何一个二进制数亦可拆分成由各位数字与其对应的权的乘积的总和。其整数部分的权由低向高依次是:1、2、4、8、16、32、64、128、……,其小数部分的权由高向低依次是:0.5、0.25、0.125、0.0625、……。 二进制数也有其运算规则: 加法:0+0=0????0+1=1???1+0=1????1+1=10 乘法:0×0=0????0×1=0????1×0=0????1×1=1 二进制数与十进制数如何转换: (1)二进制数—→十进制数 对于较小的二进制数: 对于较大的二进制数: 方法1:各位上的数乘权求和??例如: (101101)2=1×25+0×24+1×23+1×22+0×21+1×20=45 (1100.1101)2=1×23+1×22+0×21+0×20+1×2-1+1×2-2+0×2-3+1×2-4=12.8125 方法2:任何一个二进制数可转化成若干个100…0?的数相加的总和??例如: (101101)2=(100000)2+(1000)2+(100)2+(1)2 而这种100…00形式的二进制数与十进制数有如下关联:1后有n个0,则这个二进数所对应的十进制数为2n。 所以:(101101)2=(100000)2+(1000)2+(100)2+(1)2=25+23+22+20=45

相关文档
最新文档