软考初级程序员知识点 之 进制数的转换 和 机器数和码制

一、计算机中数据的表示

在计算机内部,数值、文字、声音、图形图像等各种信息都必须经过数字化编码后才能被传送、存储和处理。

表示符 数符 基数 规则
二进制 B 2i 0,1 r=2 逢二进一
八进制 O 8i 0,1,2,…,7 r=8 逢八进一
十进制 D 10i 0,1,2…9 r=10 逢十进一
十六进制 H 16i 0,1,2…9,A,B,…F r=6 逢十六进一

二、进位计数制及其转换

1、、二进制、八进制、十六进制转十进制

方法:数码乘以各自的权的累加和

在这里插入图片描述

2、十进制转二进制、八进制、十六进制

整数部分:除以r取余数,直到商为0,余数从下到上排列
小数部分:乘以r取整数数,整数从下到上排列(只乘小数取整数)

在这里插入图片描述

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

一位八进制对应3位二进制数
在这里插入图片描述

一位十六进制对应4位二进制数
在这里插入图片描述

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

整数部分:从右向左按3/4位分组
小数部分:从左向右按3/4位分组

在这里插入图片描述

三、机器数和码制**

各种数据在计算机中表示的形式称为机器数, 其特点是采用二进制计数制,数的符号用0 , 1表示,小数点隐含表示而不占位置. 机器数对应得实际数值为数的真值。

符号位:如果机器字长为n,则**最高位(或最左边的第一位)**是符号位:0表示正号,1表示负号。

1、原码

原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:

数值 原码 数值 原码
+0 00000000 -0 10000000
+1 00000001 -1 10000001
+127 01111111 -127 11111111
+45 00101101 -45 10101101
+0.5 0<>1000000 -0.5 1<>1000000

2、反码

正数的反码与原码相同,负数的反码则是其绝对值。

数值 反码 数值 反码
+0 00000000 -0 11111111
+1 00000001 -1 11111110
+127 01111111 -127 10000000
+45 00101101 -45 11010010
+0.5 0<>1000000 -0.5 1<>01111111

3、补码

正数的补码与其原码相同,负数的的补码则等于其反码的末尾加1。

数值 补码 数值 补码
+0 00000000 (唯一) -0 00000000
+1 00000001 -1 11111111
+127 01111111 -127 10000001
+45 00101101 -45 11010011
+0.5 0<>1000000 -0.5 1<>1000000

4、移码

只要将补码的符号位取反便可获得相应的移码表示。

数值 移码 数值 移码
+1 10000001 -1 01111111
+127 11111111 -127 00000001
+45 10101101 -45 01010011
+0 10000000 -0 10000000
发布了33 篇原创文章 · 获赞 13 · 访问量 2778

猜你喜欢

转载自blog.csdn.net/weixin_44947339/article/details/103999395