导学
- 这一篇主要介绍数据运算
进制运算
- 进位制是一种计数方式,也称进位计数法
- 使用的数字符号的数目称为此进制的基数或底数,例如十进制0~9
- 常见的还有二进制、八进制、十六进制(都是计算机喜欢的)
二进制表示
- 看下面两个例子:
- 注意是从0开始的
- 二进制转十进制:按权展开法
- 和上面的例子类似,基数的幂按位相乘再相加
- 小数同理:从-1开始
- 和上面的例子类似,基数的幂按位相乘再相加
- 十进制转二进制:重复相除法,除2取余
- 对小数,则要用重复相乘法:乘2取整
- 对小数,则要用重复相乘法:乘2取整
二进制数据
- 有符号数、无符号数,反码/原码/补码
有符号/无符号
- 有符号数:用0表示正,1表示负
- 无符号数:没有符号位,可视为非负数
表示法
- 二进制的原码表示:
- 十进制转成二进制后即是有符号源码
- 这样表示有两个问题:0有两种
00
和10
即+0和-0 - 两个符号不同的操作数运算尤其复杂
- 补码表示法
- 由于原码不好用,于是出现了正数代替负数、加法代替减法的补码
- 但是,注意,我们这里先看如何表示,不要关注运算!如果想提前理解: