数据概述与进制转换
Posted Lanny
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据概述与进制转换相关的知识,希望对你有一定的参考价值。
什么是数据
数据是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的原始素材。
数据是信息的表现形式和载体,信息是数据的内涵。数据本身没有意义,数据只有对实体行为产生影响时才成为信息。
计算机中的数据按照表现形式可分为两类:
- 数字数据:由阿拉伯数字符号构成的数据。如各种统计或量测数据
- 模拟数据:在某个区间内产生的连续值,如视频、图像、声音等
在计算机系统中,数据以二进制信息单元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)二进制转十六进制:四位一组,转换为十进制数,然后拼接
- 二进制数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
在计算机系统中,数值一律用补码表示(存储)
以上是关于数据概述与进制转换的主要内容,如果未能解决你的问题,请参考以下文章