计算机中数符的表示

2.1 综述计算机中关于数符的表示方法,并举例说明。

数字

  • 计算机中无符号数的表示

若无符号数保存在寄存器中,寄存器的位数,反映了无符号数的表示范围。

  • 计算机中有符号数的表示

真值: 平时用的真实的值,带有符号的。
机器数: 保存在计算机中的数。

1.原码

原码由一位符号位和几位数值位表示,符号位为1表示负数,0则为正数。

例如:x=+1110 [x]原=0,1110

x=-1110 [x]原=1,1110

x=+0.1101 [x]原=0.1101

x=-0.1101 [x]原=1.1101

2.反码

反码就是将原本是负数的原码除符号位以外全部取反。反码因为优点不明显,所以不常用。

例如:x=+1110 [x]原=0,1110 [x]反=0,1110

x=-1110 [x]原=1,1110 [x]反=1,0001

x=+0.1101 [x]原=0.1101 [x]反=0.1101

x=-0.1101 [x]原=1.1101 [x]反=1.0010

3.补码

补码就是模减去负数的绝对值,在二进制中表现为各位取反末位加1,由于两数的相减可以用被减数加上减数的补码来代替,所以补码的优势十分明显。

例如:x=+1110 [x]原=0,1110 [x]补=0,1110

x=-1110 [x]原=1,1110 [x]补=1,0010

x=+0.1101 [x]原=0.1101 [x]补=0.1101

x=-0.1101 [x]原=1.1101 [x]补=1.0011

4.移码

所谓移码,就是将原本表示的数值加上一个偏置常数所得的数,通常是加上编码位数的最高位,即2^(n-1) 或 2^(n-1)-1,移码表示的好处就是能将负数转变为正数,从而避免了0表示不唯一且可以较好的比较两数的大小

例如:x=+1110 [x]原=0,1110 [x]移=1,1110

x=-1110 [x]原=1,1110 [x]移=0,0010

x=+0.1101 [x]原=0.1101 [x]移=1.1101

x=-0.1101 [x]原=1.1101 [x]移=0.0011

5.总结

①最高位为符号位,书写上用“,”(整数)或“.”(小数)将数值部分和符号位隔开

②对于正数,原码 = 补码 = 反码

③对于负数,符号位为1,其数值部分

补码 = 原码除符号位外每位取反末位加 1

反码 = 原码除符号位外每位取反

④补码与移码只差一个符号位。

  • 数的分类

定点数,浮点数,整数。其中浮点数是由符号位,阶码和尾数表示的,为了比较数值的大小,阶码通常用移码来表示。规格化16位浮点数的表示:由E阶码(移码表示)+S符号位+M尾数(补码表示)构成。32位短浮点数:1位符号位S+8位阶码E+23位尾数M。

例如:假设16位虚拟机中,阶码占5位,尾数占9位,数符、阶符各占1位。实数28.625的浮点数可表示为?

N=11100.101 =(0.11100101)×2^101 (101十进制表示5)则该数在16位虚拟机中的浮点数表示:0|0|00101|111001010

四、进制转换

前缀: 二进制:0b (数字0)
          八进制:0o 或 0O (是数字0 和 字母小o 或 字母大O)
          十进制:0D 或 0d (数字0)
          十六进制:0x 或 0X(数字0) 或 使用后缀: H 表示!

 

字符

一、字符

  1. 字符:是各种文字和符号的总称,包括各个国家的文字,标点符号,图形符号,数字等。
  2. 字符集:字符集是多个符号的集合,每个字符集包含的字符个数不同。
  3. 字符编码:字符集只是规定了有哪些字符,而最终决定采用哪些字符,每一个字符用多少字节表示等问题,则是由编码来决定的。计算机要准确的处理各种字符集文字,需要进行字符编码,以便计算机能够识别和存储各种文字。

  • 常见字符编码

首先来看一下常用的编码有哪些。其中 ANSI 在中国大陆即为 GBK(以前是 GB2312),最常用的是 GBK 和UTF8 无 BOM 编码格式。

三、ASCII 码说明

美国国家标准协会 ANSI 制定了一个标准,规定了常用字符的集合以及每个字符对应的编号,这就是 ASCII 字符集(Character Set),也称 ASCII 码。

那时候的字符编解码系统非常简单,就是简单的查表过程。例如将字符序列编码为二进制流写入存储设备,只需要在 ASCII 字符集中依次找到字符对应的字节,然后直接将该字节写入存储设备即可。解码二进制流的过程也是类似。

其中:

① 0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)。

② 32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。

③ 65~90为26个大写英文字母,97~122号为 26 个小写英文字母,其余为一些标点符号、运算符号等。

④ 后128个称为扩展 ASCII 码。许多基于x86的系统都支持使用扩展(或“高”) ASCII。扩展ASCII 码允许将每个字符的第8位用于确定附加的128个特殊符号字符、外来语字母和图形符号。

  • 13
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tanqueraycc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值