关于与运算和取余之间的关系
来源:互联网 发布:微信淘客与淘宝客 编辑:程序博客网 时间:2024/06/01 10:23
转载至http://blog.sina.com.cn/s/blog_417424300100ew8z.html
一个数和3进行与运算,就是对4取余.
解释:
和3进行与运算,是取该数2进制形式的最后2位的值,因为3的二进制形式是(假设该数用1个字节表示,多个字节也一样,这里为了讲述,暂举1个字节为例)00000011,最后两位和1进行与,则把该数最后2位的状态取出来(和1与的特性,不理解的话复习数字逻辑基础).如下推导:
随便举一个数255,其二进制形式是11111111,根据十进制和二进制之间的转换公式,有:
255 = 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1
对其两边进行同时对4取余运算,即
255%4 = 128%4 + 64%4 + 32%4 + 16%4 + 8%4 + 4%4 + 2%4 + 1%4
(第8位) (第7位) (第6位) (第5位) (第4位) (第3位) (第2位) (第1位)
可见第4至第8位得到的结果都会是0,只有低3位待定,而这低3位中,低2位不论怎样对4取余都是其原来的值,因为他们肯定比4小,而第3位正好是二进制中表示十进制的4所在的位,十进制数对4取余取得的是最后剩下比4小的那一部分,那么也就是说某个数对4取余取得的就是这个数二进制形式的低2位,那么我们只要获得该数低2位值即可,那么按照数字逻辑中讲述的与运算的特性,我们只要用该数和3即00000011进行与运算即可
推理:明白如上道理,那么同理1个数和5进行与运算就是对6取余,和7进行与运算就是对8取余,依次类推。
但此种规律只适合对偶数取余,对奇数取余,如3,是要取得剩下的比3小的数,比3小的数在二进制形式上也是在低2位,但是低2位又能表示3,所以对3取余就不能简单地对低2位进行与操作.其他奇数也是如此.
- 关于与运算和取余之间的关系
- 关于与运算和取余之间的关系
- 关于与运算和取余之间的关系
- 除与取余的先后关系
- 取模运算与取余运算的区别
- 模运算%和位与运算&之间的关系
- 取余与位运算
- 取余与位运算
- 取余与位运算
- 取余与模运算
- 取余与位运算
- 取模运算和求余运算的区别
- 取模运算和求余运算的区别 (转)
- 取模运算和求余运算的区别
- 取模运算和求余运算的区别
- 取模运算和求余运算的区别
- 取模运算和求余运算的区别
- 取模运算和求余运算的区别
- Selenium学习14--KeyBoardUtil
- Eclipse配置PyDev插件
- linux 命令
- svn E1750002
- CentOS 7安装zabbix3.0(监控本机)
- 关于与运算和取余之间的关系
- atlassian-jira-confluence-bitbucket破解
- php判断变量是否是整数的两种方法
- web.xml配置详解
- 推出一款高端手机USB智能识别快速充电控制芯片方案
- linux练习-unit4
- 创建第二个activity并启动
- Cloudify & Cloud foundry
- Android图片三级缓存机制研究