page contents

计算机中数据的表示及运算

许多同学都不理解进制的概念,在这里给大家讲解了一下。

计算机中数据的表示及运算

计算机最主要的功能是处理数值、文字、声音、图形图像等信息。在计算机内部,各种信息都必须经过数字化编码后才能被传送、存储和处理。所谓的编码,就是采用少量的基本符号,选用一定的组合原则,以表示大量复杂多样的信息。基本符号的种类和这些符号的组合规则是一切信息编码的两大要素。例如,用10个阿拉伯数码表示数字,用26个英文字母表示英文字母英文词汇等,都是编码的典型例子。

 

一、进位计数制

在采用进位计数制的数字系统中,如果只用一个基本符号‘#’表示数值,则称其为#进制,‘#’称为此进制的基数。

不同数制的共同特点如下:

1)每一种数制都有固定的符号集。例如,十进制的基数有十个,他们分别是“0,1,2,3,4,5,6,7,8,9”,二进制的基数有两个:0和1;

2)每一种数制都使用位置表示法。即处于不同位置的基数所代表的值不同,它所表示的数值大小与它所在位置的权值(位权)有关。

例如:十进制数1234.56可表示为:

1234.56=1*10^3+2*10^2+3*10^1+4*10^0+5*10^-1+6*10^-2

 

可以看出,各种进位计数制中的位权就是基数的某次幂。所以,对任何一种进位计数制表示的数都可以写成按位权展开的多项式之和。

计算机中几种进位计数制如下表所示:

attachments-2021-07-CTAXFlB460e9544275857.png

 

1)十进制计数法

在十进制中,r=10,基本符号为:0,1,2,3,4,5,6,7,8,9。无论多大的数,都是用这10个符号的组合来表示,所以称为十进制计数法。十进制是我们日常生活中最常用的计数制,在计算机中用字母D来表示。

2)二进制计数法

在二进制中,r=2,基本符号为0和1。二进制是计算机中最常使用的计数法,在计算机中用字母B来表示,一个二进制的0或者1占用一个比特(bit)的存储空间。

3)八进制计数法

在八进制中,r=8,基本符号为0,1,2,3,4,5,6,7。八进制也是在计算机中常使用的一种计数法,在计算机中用字母O表示,可以用3位二进制数来表示1位八进制数。

4)十六进制计数法

在十六进制中,r=16,基本符号为0~9和A~F(或a~f)。在计算机中用字母H表示,可以用4位二进制数来表示1位十六进制数。

 

二、进位计数制之间的转换

1)十进制的转换

按位权展开相加法:

任何进制转换成十进制,都可以使用按位权展开相加法来计算。

①二进制转换成十进制

例:1010.01(B)=1*2^3+0*2^2+1*2^1+0*2^0+0*2^-1*1*2^-2

    =8+0+2+0+0+0.25=10.25(D)

 

②八进制转换为十进制

例:123.45(O)=1*8^2+2*8^1+3*8^0+4*8^-1+5*8^-2

   =64+16+3+0.5+0.078125=83.578125(D)

 

③十六进制转换为十进制

例:12.3(H)=1*16^1+2*16^0+3*16^-1

     =16+2+0.1875=18.1875(O)

 

2)二进制的转换

①十进制转换为二进制

方法一:十进制转换为二进制,需要把整数部分和小数部分分开来计算,整数部分用“除2取余法”,小数部分用“乘2取整法”。

例:123.45(D)≈1111011.0111(B)

方法二:把一个十进制数写成按二进制位权的大小展开的多项式,再按位权从高到低依次取各项系数就可以得到相应的二进制数。

例:123.45(D)≈64+32+16+8+2+1+0.25+0.125+0.0625

   ≈26+25+24+23+21+20+2-2+2-3+2-4

   ≈1111011.0111(B)

 

②八进制转换为二进制

1位八进制对应3位二进制

例:123.45(O)=1010011.100101(B)

 1 2 3. 4 5

001010011.100101


二进制、八进制和十六进制之间的对应关系

attachments-2021-07-92vC9Rw260e95477617d0.png

 

③十六进制转换为二进制

1位十六进制对应4位二进制

例:ABC.123(H)=101010111100.000100100011(B)

 A B C. 1 2 3

101010111100.000100100011

 

3)八进制的转换

①十进制转换为八进制

“除8取余法”,与十进制转二进制方法类似。

②二进制转换为八进制

3位二进制对应1位八进制,八进制转二进制的逆运算。

③十六进制转换为八进制

先把十六进制转换为二进制,再把对应的二进制转换为八进制。

 

4)十六进制的转换

①十进制转换为十六进制

“除16取余法”,与十进制转二进制方法类似。

②二进制转换为十六进制

4位二进制对应1位十六进制,十六进制转二进制的逆运算。

③八进制转换为十六进制

先把八进制转换为二进制,再把对应的二进制转换为十六进制。

 

三、二进制的运算规则

1)加法:“逢二进一”。

0+0=00+1=11+0=11+1=0(有进位)

2)减法:“借一当二”。

0-0=01-1=01-0=10-1=1(有借位)

3)乘法:“同一为一,否则为零”

0*0=00*1=01*0=01*1=1

4)除法:

0/0=0(无意义)0/1=01/0(无意义)1/1=1

  • 发表于 2021-07-10 16:06
  • 阅读 ( 1188 )
  • 分类:C/C++开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
小威
小威

64 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1470 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章