思考:判断以下语句是否正确:
假设有个值等于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