数据的进制转换

进制的表示:

二进制,二进制符号 0b, 一般表示 0x0101

十六进制,符号 0x或H,表示 0x18F , 18FH

R 进制整数转十进制:位权展开法,用R进制数的每一位乘以R的n次方,n是变量,从R进制的整数最低位开始,一次为0,1,2,…累加。

十进制转R进制:十进制整数除以R 倒取余,用十进制整数除以R,记录每次所得余数,若商不为0,则继续除以R,直到商为0,而后所有余数从下至上记录,排列从左至右顺序,即为转换后的R进制数。

M进制转N进制,先将M进制转换化为十进制,再将十进制转换为N进制,中间需要通过十进制中转。

二进制转八进制: 每三位二进制数转换为一位八进制数,当二进制位数个数不是三的倍数,则在前面补0.

二进制转十六进制:每四位二进制数转一位十六进制数,二进制数位个数不是四的倍数,则在前面补0.

例如:

十进制 57

转十六进制: 39H = 3X16^1+9= 48+9=57

转二进制: 0011  1001 = 1X2^5 + 1X2^4 +1X2^3+ 1X2^0 = 32+ 16+ 8+1= 57

短除法不好编写,按权展开求和计算和转换数据一致。

数的表示

机器数: 各种数值在计算机中的表示的形式,其特点是使用二进制计数制,数的符号用0,1表示,小数点则隐含,不占位置。

机器数有无符号数和带符号数之分。无符号数表示正数,没有符号位。带符号数最高位为符号位,整数符号为0, 负数符号位为1.

定点表示法分为纯小数和纯整数两种,其中小数点不占存储位,而是按照以下约定:

纯小数- 约定小数点的位置在机器的最高数值位之前

纯整数- 约定小数点的位置在机器数的最低数值位之后

真值: 机器数对应的实际数值

浮点数表示

浮点数: 表示方法为N = F* 2^E, 其中E称为阶码,F称为位数,类似于十进制的科学计数法,如 82.345 = 0.82345 * 10^2, 二进制如: 101.011 = 0.101001 * 2^3

在浮点数的表示中,阶码为带符号的纯整数,尾数为带符号的纯小数,要注意符号占最高位(整数0, 负数1),其表示格式如下:

|阶符|阶码|数符|尾数|

与科学计数法类似,一个浮点数的表示方法不是唯一的,浮点数所能表示的数值范围由阶码确定,所表示的数值精度由尾数确定。尾数的表示采用规格化方法,也即带符号尾数的补码必须为 1.0XXXX (负数) 或者0.1XXXXX(正数),其中x可以为0 或1浮点数运算

对阶:使两个数的阶码相同,小阶向大阶看齐,较小阶码增加几位,尾数就右移几位。

尾数计数(相加,若是减法运算,则加负数)

结果规格化(即尾数表示规格化,带符号尾数转换为1.0XXXX或0.1XXX)

猜你喜欢

转载自blog.csdn.net/flysh05/article/details/123992928