数据概述与进制转换

什么是数据

数据是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的原始素材。

数据是信息的表现形式和载体,信息是数据的内涵。数据本身没有意义,数据只有对实体行为产生影响时才成为信息。

计算机中的数据按照表现形式可分为两类:

  • 数字数据:由阿拉伯数字符号构成的数据。如各种统计或量测数据
  • 模拟数据:在某个区间内产生的连续值,如视频、图像、声音等

在计算机系统中,数据以二进制信息单元0、1的形式表示。

进制及进制转换

1.计算机采用二进制的主要原因

  • 技术实现简单
  • 简化运算规则
  • 适合逻辑运算
  • 易于进行转换
  • 二进制表示数据具有抗干扰能力强,可靠性高等优点

2.二进制、十进制转换

(1)二进制转十进制:按权位求和

  • 二进制数110001-->1*26-1+1*25-1+0*24-1+0*23-1+0*22-1+1*21-1= 十进制数49

(2)十进制转二进制:除二取余法

3.八进制、二进制、十进制转换

(1)八进制转十进制:按权位求和

  • 八进制数10-->1*82-1+0*81-1= 十进制数8

(2)二进制转八进制:三位一组,转换为十进制数,然后拼接

  • 二进制数11101010-->011 101 010-->3 5 2--> 八进制数352

 4.十六进制、二进制、十进制转换

 (1)十六进制转十进制:按权位求和

  • 十六进制数4AF8B-->4*165-1+10*164-1+15*163-1+8*162-1+11*161-1= 十进制数307083

 (2)二进制转十六进制:四位一组,转换为十进制数,然后拼接

扫描二维码关注公众号,回复: 1261430 查看本文章
  • 二进制数01001010111110001011-->0100 1010 1111 1000 1011-->十六进制数4AF8B

(3)十六进制转二进制:将每一位十六进制数用对应的四位二进制数替代

  •  十六进制数4AF8B-->4 A F 8 B-->0100 1010 1111 1000 1011

机器数与真值

机器数:一个数在计算机中的二进制表现形式,叫做这个数的机器数。机器数是带符号的,计算机用一个数的最高位存放符号,正数为0,负数为1。

  • 如十进制数 +7,计算机字长为8位,转换为二进制就是00000111。如果是-7,即为10000111。这里的00000111和10000111就是机器数。

真值:将带符号位的机器数对应的真正数值称为机器数的真值。

  • 机器数的第一位是符号位,所以机器数的形式数值不等于真正的数值。例如上面的有符号数10000111,最高位1代表负,其真值为-7,而形式值(10000111转换成十进制数)为135。

原码、反码及补码

人脑可以知道第一位是符号位,选择对真值区域加减,但计算机辨别“符号位”会让计算机的基础电路设计变得十分复杂,于是人们想出了将符号位也参与运算的方法,减去一个正数等于加上一个负数,所以机器可以只有加法,这样计算机运算的设计就更简单了。

人们为了将符号位参与运算,并且只保留加法,从而简化计算机运算,发明了原码、反码和补码。

原码、反码、补码都是有符号的用二进制表示数的方法,均由符号位和数值位构成。

1.原码

原码是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。

  • +25的原码=0001 1001
  • -25的原码=1001 1001
  • 8位二进制数的取值范围是[1000 0000,0111 1111],即[-128,127]。补码范围[0000 0000,0111 1111],补码0000 0000的原码是1000 0000,符号位同时也可以看做数字位,即表示-128。

2.反码

正数的反码是其本身

负数的反码是在其原码的基础上,符号位不变,其余各个位取反

  • +25-->原码0001 1001-->反码0001 1001
  • -25-->原码1001 1001-->反码1110 0110

3.补码

正数的补码是其本身

负数的补码是其反码+1

  • +25-->原码0001 1001-->反码0001 1001-->补码0001 1001
  • -25-->原码1001 1001-->反码1110 0110-->补码1110 0111

在计算机系统中,数值一律用补码表示(存储)

猜你喜欢

转载自www.cnblogs.com/lypython/p/9081655.html