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

进位计数制进制

如果只用r个基本符号表示数值则称其为r进制, r 称为基数(Radix)。

(1)每一种数制都有固定的符号集

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

123.45 = 1x10^2 + 2x10^1 + 3x10^0 + 4x10^-1 + 5x10^-2

十进制转化二进制

整数位 除二取余,倒排序,小数位乘二取整;

或 按权展开;

10..125 = 2^3+2^1+2^-3 =( 110.001)2

10/2 = 5 ....0

5/2 = 2 .......1

1/2 = 0 ......1

整数部分为: 110

0..125X2 = 0.25 ... 0

0.25x2 = 0.5 .......0

0 .5x2 = .1 ..........1

小数部分为: 001 ; 所以 10.125 = (110.001)2 、

二进制转化为十进制 : 将二进制数的每一位乘以它的权,然后相加

1101 = 1x2^3 + 1x2^2 + 0x2^1 +1x2^0 = 8+4+0+1 = 13

二进制数与八进制数(3位一转) , 二进制与16进制转化(4位一转)

1100 1000 = 11 001 000 = ( 310 )8

1100 1000 = ( B8)16

机器数与码制

各种数据在计算机中表示的形式称为机器数, 其特点是采用二进制计数制,数的符号用0 , 1表示

小数点隐含表示而不占位置. 机器数对应得实际数值为数的真值。

正数的原码,反码 ,补码 相同;

负数的反码 等于原码的数字位取反 ,

补码 等于反码加一

移码等于补码加上一个偏移量 , 如果偏移量是 2^(n-1) , 则将补码符号位取反(n为机器字长);

补码和移码 0 有唯一表示

原码表示法

原码是机器数最简单的一种表示形式。

符号位: 0表示正数 , 1表示负数

数值位: 真值的绝对值

若机器字长为 8 ;

[+10]原码= 0 000 1010 [+0]原码 =0 000 0000 [-0]原码=1 000 0000;

定点数与浮点数

定点数: 定点小数和定点整数, 5 0.5

浮点数: 小数点位置不固定 1.78

构成: 阶码E ,. 尾数M , 符号位s , 基数R

N=(-1)^S x M x R^E

规格化: 为了数据表示的唯一性而定义的规则.

尾数的位数决定数的精度, 阶码的位数决定数的范围

IEEE754标准

n = N=(-1)^S x 1.f x 2^E

s代表数符 : 0 正 1 负

E代表阶码: 用特殊的移码 偏移量 2^(n-1) - 1;

f代表尾数 : 用原码表示

利用IEEE754标准将 176.065 表示为单精度浮点数

176.065 = (10110000.0001) = 1.01100000001x2^7

s=0

f=0 1100 0000 0100 0000 0000 00

E = 0000 0111+0111 1111 = 1000 0110

经验分享 程序员 微信小程序 职场和发展