数据压缩课前任务一:计算机编程中的数据类型

一、整型

1. 表示形式

· 整型数据(int):以补码形式存储

· 无符号整型数据(unsigned int):以无符号数形式存储

2. 计算方法

· 类型转换:
int 与 unsigned int 之间进行相同数据类型运算时,结果类型不变;若 int 与 unsigned int 进行运算时,结果为 unsigned int 型。

· 数值溢出:
无符号数溢出时,舍去溢出部分,仅保留未溢出部分。
符号数溢出时,正数溢出后从下限开始回到有效范围,负数溢出后从上限开始回到有效范围。

· 移位运算:
左移实现 ×2 效果,右移实现 ÷2 效果
符号数移位时,若符号为正,则左移或右移时均补 0;若符号为负,则左移补 0,右移补 1。
无符号数移位时,均补 0。

二、浮点型

1. 表示形式

通常表示为:尾数 × 基数的阶数次方,其中基数一般取 2、8、16,阶数为2的整数次方。

IEEE745 标准中有如下图存储标准图片来源:Wiki 百科https://upload.wikimedia.org/wikipedia/commons/thumb/7/75/General_floating_point_frac.svg/490px-General_floating_point_frac.svg.png
图中,最高有效位被指定为符号位(sign bit);次高有效的e个比特,存储指数部分;最后剩下的f个低有效位的比特,存储“有效数”(significand)的小数部分(在非规约形式下整数部分默认为0,其他情况下一律默认为1)。

2. 计算方法

· 类型转换
浮点数参与运算时,都要转换成 double 格式,且运算结果为 double 格式

· 溢出
当浮点数小于能表示的负数最小值或大于能表示的正数最大值时,称为上溢,视为溢出;若大于能表示的负数最大值且小于能表示的正数最小值时,称为下溢,视为0。

· 运算
(1)加减运算:首先进行阶码对齐,低阶向高阶对齐;后对尾数进行加减操作并进行规格化处理转化为浮点数;然后通过常用的0舍1入法,将右移出去的数进位以确保精度;最后检查是否有溢出情况
(2)乘除运算:尾数相乘(除),阶码相加(减)

三、字符型

1. 表示形式

字符型数据(char):以对应的 ASCII 码整型存储

2. 计算方法

当两个 char 类型运算时,先转换为 int 型再进行运算;若 char 型与其他类型进行运算,则先转换为 int 型后再做其他类型的转换。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值