寒假第三周个人学习总结

本周学习了以下内容:

1,位运算。这周加深了对位运算的了解,学会了位运算的一些常用的运用,如 :

b >> 1 或 b << 1 相当于 b/2 或 b*2;交换a和b的值可以:a ^= b; b ^= a; a ^= b;

2,取无穷大的值。在数据的最大值不超过int类型最大值时可以用0x7fffffff或0x3f3f3f3f表示无穷大,其中0x3f3f3f3f适用范围更广,更好用,因为0x7fffffff加上常数时会溢出,而0x3f3f3f3f加上无穷大(它本身)小于int类型最大值,还是无穷大,跟数学上无穷大+无穷大=无穷大的定义相似,同时0x3f3f3f3f还适用于memset函数进行初始化。

3,数的进制转换。原本以为数的进制转换,如从A进制转换成B进制,得先把A进制转化成10进制,再从10进制转化成B进制,而这个过程如果数据大,就得使用高精度的算法。而今天看了某位大佬的讲解发现数的进制转换可以用数学方法直接从A进制到B进制,而不需要麻烦的高精度算法。将A进制直接转换成B进制的方法和十进制转B进制的一样,都是用短除法。

如: 设十进制的123,十三进制的123分别转化为三进制。

如下图:

 那么123(13)除以3如何算出等于51(13)呢?首先13进制是满13就往前进一位,所以123(13)除以3时的第一位的1小于3,所以如图:

直接用该方法进行进制转换与先转十进制再转B进制相比大大减小了代码的复杂程度。 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值