位运算的妙用

位运算在程序设计中对提升效率有显著作用,尤其是对于整数的处理。本文介绍了位运算的基本概念,包括原码与补码的转换,以及逻辑移位和算数移位的区别。此外,还分享了一些常用的位运算技巧,如交换两个数、判断奇偶、快速乘除2^n、取位、获取最小2的倍数和求绝对值等,这些技巧在实际编程中非常实用。
摘要由CSDN通过智能技术生成

什么是位运算?

位操作是程序设计中对位模式按位或二进制数的一元和二元操作。
在许多古老的微处理器上, 位运算比加减运算略快, 通常位运算比乘除法运算要快很多。
在现代架构中, 情况并非如此:位运算的运算速度通常与加法运算相同(仍然快于乘法运算)

                                                                                                                                                                     ——百度百科

    我们都知道计算机存储的都是二进制数据,这是由计算机本身的设计决定的。位运算顾名思义,就是对二进制位的计算。位运算是只针对整数可用的。

  下图是C语言与Java的位运算运算符

可以看到位运算也可以分为位逻辑运算移位运算

补充:

原码与补码:

原码:原码(true form)是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。

例:整型量5原码:0000 0000 0000 0000 0000 0000 0000 0101

补码:补码(two's complement) 1、在计算机系统中,数值一律用补码来表示(存储)。 主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值