计算机知识数据,计算机数据表示的基础知识.doc

计算机数据表示的相关知识

1.数制

1.1 数制的种类

单片机中编程中经常使用十进制、二进制、十六进制的数。

十进制数有十个基数(0,1,2,3,4,5,6,7,8,9),进制规则是:逢十进一。在程序编制中,在数的后面加一字母,用D(Decimal)或不带字母表示十进制数;

二进制数只有两个基数:0和1,进制规则是:逢二进一。在数的后面加字母B(Binary)表示二进制数;

十六进制有16个基数(0~9,A,B,C,D,E,F),进制规则是:逢十六进一。在数的后面加字母H(Hexadecimal)表示十六进制数。

计算机通过指令对数据进行处理,计算机仅能识别用二进制表示的数据。但二进制数据不便于阅读和记忆,所以在程序编写时,一般用十六进制来缩写。

1.2数制转换

(1)二进制数和十进制数的相互转换

①二进制转换为十进制一般采用按权展开后相加的方法。

二进制数只有0和1两个数码,任何二进制数都是由这两个数码组合而成,二进制数N的一般表示形式为:

式中为第i位数码,n为二进制数的位数,为该位的权值。

例如:将二进制数1 1011B用十进制表示。

1 1011B即为十进制数27。

② 十进制转换为二进制一般采用“除2取余法”。 “除2取余法”的法则是:连续用2去除需要转换的十进制数,然后按顺序将所得的余数排列,最后得到的余数排列在最高位,最先得到的排列在最低位。

例如:将十进制数25用二进制表示。

25的二进制表示为:1 1001B。

一般而言,熟记8位二进制各位的权值有助于快速计算数的二进制代码。

权值1286432168421例如:将十进制数123用二进制表示。

分析:由于~各位权值之和为127,且123 = 127 - 4 - 1,故去掉权值为4和1的位就可以得到123的二进制代码,即为0111 1010B。

又如:将十进制数68用8位二进制表示。

分析:由于位的权值为64,且68 = 64 + 4,故加上权值为4的位就可以得到68的二进制代码,即为0100 0100B。

(2)二进制数和十六进制数的相互转换

十六进制的数码有0、1、……9、A、B、C、D、E、F这16个数码,十六进制数N的一般表示形式为:

式中为第i位数码,n为十六进制数的位数,为该位的权值。

① 二进制转换为十六进制

将二进制数从最低位向左,每4位分为1组,最后一组若不足4位则在左侧添0补足,每组用用1位十六进制数表示。

例如:将11 1011 B转换为十六进制

② 十六进制转换为二进制

用4位二进制代替1位十六进制即可。

例如:将9B H转换为二进制

2.计算机中信息的表示方法

在计算机中数值、字符、颜色、声音、图象等信息均使用二进制数据来表示和处理。将若干个二进制数码按某种规律组合到一起形成代码,以表示特定的信息,这个过程就称为编码。下面将介绍最基本的数的编码和字符编码规则。

2.1 数据存储单位

按数据存储位数来分:

位(bit):一个二进制数中的1位,其值是1或0。

字节(byte):8位二进制数,是计算机中数据的基本单位。

字(word):16位二进制数,即2个字节。

双字(double word):32位二进制数,即4个字节

2.2 数的编码

对整数的编码可根据有无符号,将数分为无符号数和有符号数;对带小数点的数通常采用定点数和浮点数来表示。

1.无符号数

常见的无符号数编码有二进制编码和BCD码

(1)无符号数的二进制编码

无符号数的二进制编码的特点是码值与数值相等。

例如:将十进制数129进行二进制编码。

解: 129 =1000 0001B

一个n位二进制无符号数的表示范围是: ,所以8位二进制无符号数的表示范围是;16位二进制无符号数的表示范围是。

(2)二—十进制码(BCD码)

二—十进制码简称BCD码(Binary Coded Decimal)。常见的BCD码有8421码、余3码、2421码等。

8421 BCD码是最常用的一种BCD码,它是将十进制数的每个数字符号用4位二进制数码来表示,下表给出了8421码与十进制数的对照关系。

十进制数8421码00000100012001030011401005010160110701118100091001容易发现,8421 BCD码的特点就是每个代码的各位数值之和就是它所表示的十进制数。同时还应注意,8421 BCD码中不可能出现(1010,1011,1100,1101,1110,1111)。

任何一个十进制数转换成BCD码表示时,只需要把该十进制数的每位转换成相应的BCD码即可。例如:十进制数325的BCD码表示形式为0011 0010 0101。

2.有符号数:原码、反码、补码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值