讲了二进制有一周啦,今天才来写博客,不知道龙哥你不要骂我 我的数学是体育老师教的,我能说数学我高考都没及格过。。。。。但是今天来说二进制。
还好是简单的二进制。
首先我们要知道计算机内部执行的时候并不是直接执行的我们苦逼的程序猿写的这些C++语言或者JAVA语言,而是进行了编译成机器语言来执行,在机器内部就是通过二进制运算来运行的。二进制主要就是用0和1两个数字来表示所有数据。
二进制表示整数:比如byte 类型的 3------->0000 0011 规则:符号位是0,后面反正就是逢二进一嘛
二进制表示负数:比如byte类型的- 3------->1111 1101 规则:负数的表示就比较坑了,它的二进制表示是:左边第一位是符号位,正数的符号位是0 ,负数的符号位是1 , 负数表示它的 左边第一位还是为1,然后后面7位是用正数的原码的反码的补码(原码、反码、补码不知道的问百度)。举例:表示十进制:-127--------->符号位为1+正数的原码:1111 1111----------->求反码:1000 0000 --------->求补码:1000 0001 最后-127的二进制表示就是10000001
位运算:
1、按位与 & 这是一个双目运算 如3&2 规则:同位比较,都为1,结果为1 否则为0。 举例:3&2
3-------> 0000 0011
2-------> 0000 0010
运算&---> 0000 0010
2、按位或 | 这也是一个双目运算 如3|2 规则:同位比较,有一个为1, 该位为1 。举例:3|2
3-------> 0000 0011
2-------> 0000 0010
运算 | ---> 0000 0011
3、按位 异或 ^ 这也是一个双目运算 如3^2 规则:按位比较,相同为0 不同为1 。 举例:3^2
3-------> 0000 0011
2-------> 0000 0010
运算^--->0000 0001
4、按位 取反 ~ 这是一个单目运算 如~3 规则:按位 0变1 ,1变0 。 举例:~3
3-------> 0000 0011
~3------> 1111 1100
以上是位运算,按字面意思来讲也很容易理解,位运算就是一个位一个位地做安规则运算,做比较就行啦。接下来说位移运算
1、左移运算: << 书写格式:a<<b 举例:3<<2 含义:将3向左移动2位 规则:二进制数b全部左移b位(左边的二进制位丢弃,右边补0)
3--------> 0000 0011
3<<2---> 0000 1100
-3-------> 1111 1101
-3<<2--> 1111 0100
2.右移运算: >> 书写格式:a>>b 举例:3>>2 含义:将3向右移2位 规则:二进制数b全部右移b位(右边的二进制位丢弃,正数的左边补0,负数的左边补1)
3--------> 0000 0011
3>>2---> 0000 0000
-3-------> 1111 1101
-3>>2--> 1111 1111
相关推荐
二进制运算电路 二进制运算电路 二进制运算电路 数字逻辑 数字逻辑
关于二进制的各种运算, 挺不错的 很全了
java二进制运算器(加、见、乘、除)**********
大数运算包含加,减,乘,除,取模,幂运算,模幂运算。支持十进制运算,二进制运算;支持文件运算,键盘输入运算,若有需要,可提供实验报告
这是一个模拟计算机进行加法和数的原码、反码,补码的分析工具。我希望这个工具能对需要它的人有所帮助,所以决定通过GNU General Public License发布这个自由软件。我使用的编译环境是VS2010Express。...
易语言二进制递归运算源码,二进制递归运算,到二进制文本
二进制运算及转换PPT课件.pptx
使用C++语言实现十进制转换为二进制的运算方法,可正负互转,解决了上次输出顺序错误的问题
运算基础二进制的运算和计算机中的四则运算.ppt
二进制运算规则.pdf
二进制运算规则.doc
圣克鲁斯加利福尼亚大学的老师Eric Lengyel总结的二进制运算基础
一个实现二进制运算的模拟器,通过它可以学习原码、反码、补码的一些内容,还包含了浮点数运算。运行环境.NET 4.0
2.3-二进制运算规则.doc
二进制运算PPT学习教案.pptx
实验一 二进制算法实现摸指数运算
设计最后得分优秀,而且免答辩。 代码清晰易懂,你绝对值得拥有。
二进制运算及转换PPT学习教案.pptx
此软件依然是自由软件,欢迎大家提供宝贵意见,此版本是.net中的最后一个版本,正向java移植中