<?php
/**
php中有4个位运算,分别是&与 |或 ^异或 ~取反
& 两位全为1,结果为1
| 有一位为1,结果为1
^ 一个为0,一个为1,结果为1
~ 取反0->1,1->0
1.二进制的最高位是符号位,0表示正数,1表示负数。
2.正数的原码,反码,补码都一样。
3.负数的反码=它的原码符号位不变,其它位取反(0->1,1->0)。
4.负数的补码=它的反码+1。
5.0的反码,补码都是0.
6.php没有无符号数,换言之,php中的数都是有符号的。
7.在计算机运算的时候,都是以补码的方式来运算的。
**/
//异或
echo 13&7;
echo "<br/>";
echo 5|4 ;
echo "<br/>";
echo -3^3;
//推理过程:
/**
13&7
13的补码 00000000 00000000 00000000 00001101
7的补码 00000000 00000000 00000000 00000111
13&7 00000000 00000000 00000000 00000101 = 5
5|4
5的补码 00000000 00000000 00000000 00000101
4的补码 00000000 00000000 00000000 00000100
5|4 00000000 00000000 00000000 000000101 =5
-3^3
-3的补码
-3的原码 10000000 00000000 00000000 00000011
-3的反码 11111111 11111111 11111111 11111100
-3的补码 11111111 11111111 11111111 11111101
3的补码 00000000 00000000 00000000 00000011
-3^3 11111111 11111111 11111111 11111110 《补码》
推反码《对补码-1》
11111111 11111111 11111111 11111101 《反码》
推原码《符号位不变 其他取反》
10000000 00000000 00000000 00000010 《原码》 =-2
注意:因为二进制没有进位和退位,可以看做是10-1,那就等于1了
**/
?>
分享到:
相关推荐
CRC计算器、和校验、异或校验、异或取反校验
C语言位运算符与或异或取反左移和右移.pdf
For ‘Message header + Dialog header + Transaction header + Operation information’, perform XOR by 32 bits, and take the inverse of the XOR result as the checksum
写通信协议的估计会经常用到,将消息头+会话头+事务头+操作消息按32位异或,即4字节一组,依次异或,最后结果取反。转为16进制即为检验和.这是一个计算校验和的小工具.
。
。
。
异或校验工具。十六进制异或值计算。。。。。。。。。。
图像除法运算图像(位与,位异或,位移运算)
按位与_按位或_按位异或_运算的讲解,自我感觉不错!
C语言位运算符:与、或、异或、取反、左移和右移.docx
可进行十六进制字符串按位异或运算,就是输入十六进制数,每个十六进制数间输入空格,然后点输出即可得到结果
16进制异或小工具源码,非常好用,欢迎下载使用
按位与按位或按位异或运算.doc
题目描述:给你n个正整数,你要找出哪两个数按位异或运算后的结果是最大的。 输入:输入一个整数n(2<=n<=100000),然后就是n个109以内的正整数。 输出:输出最大的按位异或运算结果。 样例输入: 4 1 3...
异或运算 进行加密 delphi编写异或运算 进行加密 delphi编写异或运算 进行加密 delphi编写异或运算 进行加密 delphi编写异或运算 进行加密 delphi编写异或运算 进行加密 delphi编写异或运算 进行加密 delphi编写异或...
。
。
单片机avr_c语言位运算_与或非_异或逻辑_运算介绍_详解