C语言中的左移与右移 &&原码反码补码&&浮点数在计算机中的表示

思考:判断以下语句是否正确:

假设有个值等于x

左移的结果为2*x吗,右移的结果为x/2吗?

如此理解某些情况下可能获得的结果是对,某些情况下结果是错的,要想真正理解,得搞清楚计算机内部的位移的操作原理。

如int x = -3

int y  = x>>1得到的结果是-2,

x/2的结果是-1

参考以下博客搞清除

1、原码、反码、补码

2、搞清除逻辑位移、算术位移

3、搞清楚左移、右移的填充规则

https://blog.youkuaiyun.com/weixin_42167759/article/details/85624722

结论:

左移:用0填充

右移:用最高位填充

浮点数在计算机内存中的表示方法

1、搞清除二进制的科学计数法

2、搞清除计算机中存储的浮点数信息:符号位、指数位、有效位

3、10进制和2进制的转换方式:https://blog.youkuaiyun.com/shelldon/article/details/54411472

4、浮点数表示参考:https://www.cnblogs.com/jillzhang/archive/2007/06/24/793901.html


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值