计算机组成 您所在的位置:网站首页 计算机的进制符号 计算机组成

计算机组成

2024-06-01 20:36| 来源: 网络整理| 查看: 265

文章目录 1 进制/编码转换1.1 不同进制之间转换1. 二进制转十进制2. 十进制转二进制3. 八进制转十进制4. 十进制转八进制5. 十六进制转十进制6. 十进制转十六进制7 二进制转八进制8 二进制转十六进制 1.2 不同编码之间转换 2 字符编码表示2.1 小数表示2.1.1 定点表示2.1.2 浮点表示 2.2 汉字编码 本节主要是计算机中数的表示和编码部分

1 进制/编码转换 1.1 不同进制之间转换 1. 二进制转十进制

原理:

整数部分和上述相同

小数部分每位乘以2的负幂次,然后求和。 例子:二进制数 110.101 转换为十进制: 整数部分: 1 × 2 2 + 1 × 2 1 = 4 + 2 = 6 1 \times 2^2 + 1 \times 2^1 = 4 + 2 = 6 1×22+1×21=4+2=6 小数部分: 1 × 2 − 1 + 0 × 2 − 2 + 1 × 2 − 3 = 0.5 + 0 + 0.125 = 0.625 1 \times 2^{-1} + 0 \times 2^{-2} + 1 \times 2^{-3} = 0.5 + 0 + 0.125 = 0.625 1×2−1+0×2−2+1×2−3=0.5+0+0.125=0.625

所以,二进制 110.101 等于十进制的 6.625。

2. 十进制转二进制

原理:

整数部分不断将十进制数除以2,记录下余数,最后的二进制数是这些余数的逆序排列

小数部分通过不断乘以2然后取整数部分来转换。

例子:十进制数 13.625 转换为二进制: 整数部分:

十进制数 13 转换为二进制:

13 ÷ 2 = 6 余 16 ÷ 2 = 3 余 03 ÷ 2 = 1 余 11 ÷ 2 = 0 余 1

所以,十进制 13 等于二进制的 1101。

小数部分:0.625 × 2 = 1.25 → 1, 0.25 × 2 = 0.5 → 0, 0.5 × 2 = 1 → 1 所以,十进制 10.625 等于二进制的 1101.101。

3. 八进制转十进制

原理:和二进制到十进制相同,但用8的幂次。 例子:八进制数 23.4 转换为十进制: 整数部分: 2 × 8 1 + 3 × 8 0 = 16 + 3 = 19 2 \times 8^1 + 3 \times 8^0 = 16 + 3 = 19 2×81+3×80=16+3=19 小数部分: 4 × 8 − 1 = 0.5 4 \times 8^{-1} = 0.5 4×8−1=0.5 所以,八进制 23.4 等于十进制的 19.5。

4. 十进制转八进制

原理:和十进制到二进制相同

但整数部分除以8看余数

小数部分乘以8 取整数 例子:十进制数 45.625 转换为八进制: 整数部分:45 转换为 55 小数部分:0.625 × 8 = 5 → 5 所以,十进制 45.625 等于八进制的 55.5。

5. 十六进制转十进制

原理:和二进制到十进制相同,但用16的幂次。 例子:十六进制数 2F.A 转换为十进制: 整数部分: 2 × 1 6 1 + 15 × 1 6 0 = 32 + 15 = 47 2 \times 16^1 + 15 \times 16^0 = 32 + 15 = 47 2×161+15×160=32+15=47 小数部分: 10 × 1 6 − 1 = 0.625 10 \times 16^{-1} = 0.625 10×16−1=0.625

所以,十六进制 2F.A 等于十进制的 47.625。

6. 十进制转十六进制

原理:和十进制到二进制相同,但除以16和乘以16。 例子:十进制数 75.8 转换为十六进制: 整数部分:75 转换为 4B 小数部分:0.8 × 16 = 12.8 → C, 0.8 × 16 = 12.8 → C(重复) 所以,十进制 75.8 等于十六进制的 4B.C(重复)。

7 二进制转八进制

原理:整数部分从右向左每三位一组,小数部分从左向右每三位一组,不足三位的补零。注意补零的方向不一样,整数开头补0,小数部分末尾补零,例如整数部分10,则补充为010,小数部分10,则补充维100

例子:二进制数 110110.1101 转换为八进制。

整数部分(从右向左分组):110 110 → 110 110小数部分(从左向右分组):110 100 → 110 100(末尾补零)转换每组:整数部分 110 为八进制的 6,110 为 6;小数部分 110 为 6,100 为 4所以,二进制 110110.1101 等于八进制的 66.64。 8 二进制转十六进制

原理:整数部分从右向左每四位一组,小数部分从左向右每四位一组,不足四位的补零。

例子:二进制数 110110.1101 转换为十六进制。

整数部分(从右向左分组):0110 110 → 0110 1100(前面补零)小数部分(从左向右分组):1101 0000 → 1101 0000(末尾补零)转换每组:整数部分 0110 为十六进制的 6,1100 为 C;小数部分 1101 为 D,0000 为 0所以,二进制 110110.1101 等于十六进制的 6C.D0。 1.2 不同编码之间转换

机器数编码主要有原码,反码和补码

其中

正数:原,反,补相同 负数:原,反,补不同,但最高位都为1。

每种表示法的处理方式如下:

原码:最高位设为1表示负数,其余位表示数值本身。例如,-5的原码表示(假设使用8位)为 10000101。

反码:对于负数,最高位保持为1,其余位是原码的逐位取反(即1变0,0变1)。例如,-5的反码表示为 11111010。这是因为5的原码为 00000101,取反后得到 11111010。

补码:负数的补码是其反码加1。补码用于简化加法和减法操作,因为它允许使用相同的加法硬件来处理正数和负数的加法。例如,-5的补码表示为 11111011。这是因为-5的反码是 11111010,加1后得到 11111011。

所以着重看负数的各种转换情况

负数:

​ 原→反, 符号位不变,尾数按位求反 ​ 原→补 ,符号位不变,尾数按位求反+1 ​ 补→原, 符号位不变,尾数求反+1 ​ 反→原 ,符号位不变,尾数求反.

2 字符编码表示 2.1 小数表示

在计算机科学中,小数的表示主要有两种形式:定点表示和浮点表示。这两种表示方法各有特点,适用于不同的应用场景。

2.1.1 定点表示

定点表示法将小数点的位置固定在某个位置。在这种表示中,小数部分和整数部分的长度是预先设定的。定点表示法通常用于那些小数点位置固定且精度要求不高的应用。

例子: 假设我们使用一个8位的定点表示法,其中前4位用于整数部分,后4位用于小数部分。那么:

数字 5.625 可以表示为 0101.1010。这里 0101 表示整数部分的 5,1010 表示小数部分的 .625(即 5/8)。 2.1.2 浮点表示

浮点表示法是一种更为复杂但灵活的表示方法,它允许小数点的位置随数值的大小而变化。

这种表示方式由三部分组成:符号位(表示正负)、指数部分(决定小数点的位置)和尾数部分(表示实际数字)。

例子: 以IEEE 754标准的32位单精度浮点表示为例,一个浮点数如 5.625 可以表示为:

符号位:0(因为是正数)指数部分:用于移动小数点。例如,5.625 转换为二进制是 101.101,标准化(即使其成为1.xxx形式)后为 1.01101 乘以 2^2。因此,指数部分是 2(实际存储时,指数会加上偏移量,对于32位单精度,偏移量是127,所以存储的指数值是129,或二进制 10000001)。尾数部分:去掉小数点前的 1,余下 01101。在32位单精度中,尾数部分有23位,不足的部分补0。

综上,5.625 的浮点表示(近似)为:0 10000001 01101000000000000000000。

总结来说,定点表示适用于固定精度需求,而浮点表示更适合表示广泛的数值范围和不同的精度要求,尤其是在科学计算和工程领域中。浮点表示虽然灵活,但也可能引入舍入误差。

2.2 汉字编码

以下是常见的汉字字符集编码:

GB2312编码:1981年5月1日实施的简体中文汉字编码国家标准。GB2312对汉字采用双字节编码,收录7445个图形字符,其中包括6763个汉字。自2017年3月23日起,该标准转化为推荐性标准:GB/T2312-1980,不再强制执行。

BIG5编码:台湾地区繁体中文标准字符集,采用双字节编码,共收录13053个中文字,1984年实施。

GBK编码:1995年12月发布的汉字编码国家标准,是对GB2312编码的扩充,对汉字采用双字节编码。GBK字符集共收录21003个汉字,包含国家标准GB13000-1中的全部中日韩汉字,和BIG5编码中的所有汉字。

Unicode编码:国际标准字符集,它将世界各种语言的每个字符定义一个唯一的编码,以满足跨语言、跨平台的文本信息转换。Unicode采用四个字节为每个字符编码。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有