计算机组成原理——运算方法与运算器2

数的机器码表示

1、原码表示法

若定点整数的原码形式为x(n)x(n-1)…x1x0(x(n)为符号位),则原码表示的定义是

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Jma5peg57yl57yITA==,size_20,color_FFFFFF,t_70,g_se,x_16

 式中,[x]原是机器数,x是真值

例如,x=+1001,则[x]原=01001

x=-1001,则[x]原=11001

一般情况下,对于正数x=+x(n-1)…x1x0,则有

[x]原=0x(n-1)…x1x0

对于负数x=-x(n-1)…x1x0 則有

[x]原=1x(n-1)…x1x0

对于0,原码机器中往往有“+0”、“-0”之分,故有两种形式:

[+0]原=0000…0

[-0]原=1000···0

2、补码表示法(正数原码=反码=补码,负数反码+1=补码

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
// 汉字字模提取的基本原理 // 如同画点画线一样 ,汉字是经过电脑画出来的。这样,就必须 // 为每一个字准备一个数组 , 这就是“ 字模 ” 。字模分为点阵和矢量 // 两种 ,我们常用的是点阵字模 ,一般有 1 6 x1 6和 2 4 x 2 4两种 , // 分别称为16点阵字和24点阵字 。它们的原理是依据点阵中的 0和 l // 把汉字画出来 ( 即 0表示不画点 , 1表示 画点) 。本文以16点阵的 // 汉字显示为例, 因此需访问UCDOS中的字库文件 HZK1 6 。 HZK16 // 的内容是按照字节存放的 ,即把 1 6 x1 6个“ 位” 变成 32个“ 字节 ” // 来存放 。另外 ,每个汉字在字库中有唯一的区位码与之对应 , 根据 // 汉字的机内码可以确定其区位码及其在字库中的起始位置,就可以从字库中 // 取出汉字字模 。具体步骤如下 : // 根据汉字的机内码 推算 出区位码 : // 区码= 机内码 高字节一 A0 H (因为汉字编码是从0xa0区开始的,所以文件最前面就是从0xa0区开始,要算出相对区码) // 位码= 机内码 底字节一 A0 H // 根据 区位码计算出汉字在字库中的偏移量( 即汉字在字库中的位置 ) : // 偏移量 L = [ ( 区码一 1 ) x 94 + ( 位码一 1 ) ] x 32 // 从该偏移地址中读取32字节(16*16位)或者128字节(32*32位),就是相关字符的点阵字模代码. // 1、区码减1是因为数组是以0为开始而区号位号是以1为开始的 // // 2、(94*(区号-1)+位号-1)是一个汉字字模占用的字节数 // // 3、最后乘以32是因为汉字库文应从该位置起的32字节信息记录该字的字模信息 // // 4、94为区位码94*94的方阵;32为从偏移地址中读取32字节(16*16位)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值