简单的位运算入门,适合不知道什么是位运算的新手看看!
2013-10-15 13:12
441 查看
1.说起位运算,先复习一下几个位运算符:
php中有四种运算符,按位与 '&' ,按位或 ‘|’ ,按位异或 '^',按位取反 ‘~’。
按位与 & :两位全为1,则为1。
按位或 | :两位中有一个1,就为1。
按位异或 ^: 两位中一个1,一个0,就为1,否则为0。
按位取反 ~: 0变1,1变0。
2.说完了四个位运算符,再说说二进制中的几种码,他们分别是 原码,反码,补码。
对于原码就是他的二进制数,比如十进制数5的原码是:
00000000 00000000 00000000 00000101
其他两种码均可由原码推出,具体有这么几条需要说明:
1.二进制的最高位为符号位,1表示正,0表示负。
2.正数的原码,反码,补码都一样。
3.负数的反码等于他的原码符号位不变,其他位取反。
4.负数的补码等于他的反码+1.
5.0的反码,补码都是0.
6.在php中都是有符号的。
7.计算机在运算的时候都是以补码的形式运算的。
3.简单的例子
算 13&7=?
13&7=?
-->
13的原码:00000000 00000000 00000000 00001101
补码:00000000 00000000 00000000 00001101
7的原码:00000000 00000000 00000000 00000111
补码:00000000 00000000 00000000 00000111
所以:
13&7的补码:00000000 00000000 00000000 00000101 -->5(正数的所有码都一样)
2013-10-15
php中有四种运算符,按位与 '&' ,按位或 ‘|’ ,按位异或 '^',按位取反 ‘~’。
按位与 & :两位全为1,则为1。
按位或 | :两位中有一个1,就为1。
按位异或 ^: 两位中一个1,一个0,就为1,否则为0。
按位取反 ~: 0变1,1变0。
2.说完了四个位运算符,再说说二进制中的几种码,他们分别是 原码,反码,补码。
对于原码就是他的二进制数,比如十进制数5的原码是:
00000000 00000000 00000000 00000101
其他两种码均可由原码推出,具体有这么几条需要说明:
1.二进制的最高位为符号位,1表示正,0表示负。
2.正数的原码,反码,补码都一样。
3.负数的反码等于他的原码符号位不变,其他位取反。
4.负数的补码等于他的反码+1.
5.0的反码,补码都是0.
6.在php中都是有符号的。
7.计算机在运算的时候都是以补码的形式运算的。
3.简单的例子
算 13&7=?
13&7=?
-->
13的原码:00000000 00000000 00000000 00001101
补码:00000000 00000000 00000000 00001101
7的原码:00000000 00000000 00000000 00000111
补码:00000000 00000000 00000000 00000111
所以:
13&7的补码:00000000 00000000 00000000 00000101 -->5(正数的所有码都一样)
2013-10-15
相关文章推荐
- 【适合新手入门】批处理简单的输入判断
- WCF 一步一步从入门到精通(一)建立一个简单入门的例子(适合一点不会的朋友阅读)
- 自己闲来没事写了个九九乘法表 ,新手入门。大家看看就好。
- 南阳 oj 16进制的简单运算 题目244 语言入门
- 关于MATLAB入门的简单记录11 符号运算
- jsp实现的简单分页,适合新手用
- Thinkphp基础入门(适合php新手)
- JavaScript入门第一部分:JavaScript是什么,能做什么,不适合做什么,用什么开发以,怎么玩浏览器,怎么学这东西。
- WCF 一步一步从入门到精通(一)建立一个简单入门的例子(适合一点不会的朋友阅读)
- 新手入门使用git 简单使用 终端命令
- ios开发新手如何看待JSON格式数据(适合OC刚刚入门的童鞋)
- angular初体验(简单易学,适合新手,很新很新的手哈哈哈)
- WebService 之CXF拦截器,使用 CXF 拦截器进行简单的 head 信息验证,适合入门选手
- 不知道什么原因 突然又来看看的欲望
- Git入门教程(适合新手)
- mysql的入门基本使用(适合新手学习)
- 关于MATLAB入门的简单记录10 Matlab的数值运算
- 关于富文本编辑器ueditor(jsp版)上传文件到阿里云OSS的简单实例,适合新手
- [置顶] 关于富文本编辑器ueditor(jsp版)上传文件到阿里云OSS的简单实例,适合新手
- android studio jni简单实例,适合新手(需要用到CMakeList文件)