程序设计设计的基础——变量

一. 变量

1. 浮点计算的问题

1. 1 浮点计算得不精确性

1)  误差来源

参考文献1《计算机组成原理》,对于浮点范围和误差来源 有清晰的介绍

根据浮点24位精度尾数的设计,浮点的有效为为2e24,最大表示16777216,有效位数为10进制的8位或7位;在计算中由于小数精度只有7位,乘法的交换律结合律等会导致精度变化。

2) 误差传递

有效位误差,接近的数字计算中会丢失精度,1.2223 - 1.2222 计算后只有一位精度;

在多项式计算中,由浮点自身精度原因产生的相对误差会导致误差传播

1. 2 浮点转换整形

将浮点数(单双精度)转换为整数时,将舍弃浮点数的小数部分, 只保留整数部分。将整型值赋给浮点型变量,数值不变,只将形式改为浮点形式, 即小数点后带若干个0。注意:赋值时的类型转换实际上是强制的。

int     iNum;
float   fNum = 1.14;

iNum = fNum; //iNum的值为1

2. 整形

unsigned char/char的存储长度为4字节

unsigned char a = 0xFF;

~a == 0xFFFF FF00;

1.Alan Clements,计算机组成原理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值