zoukankan      html  css  js  c++  java
  • 基础才是重中之重~位的运算

    回到目录

    位运算无论在C#,VB还是在T-SQL里都有对它支持,位运算即对数值类型的每位进行计算,对于程序里,你可以使用十进制,十六进制,二进制对它进行位运算,事实上无论你使用哪种进制,对于计算机来说最后都为把它转换成二进制(0,1)的形式,因为二进制为简单,呵呵。

    下面是关于位运算的表格

    运算符号
    位运算操作符
    运算对象类型
    运算结果类型
    对象操作数
    实例
    ~
    运算
    整型
    整型
    1个
    ~x
    &
    运算
    2个
    x & y
    |
    运算
    2个
    x | y
    ^
    异或运算
    2个
    x ^ y
    << 
    左移运算
    2个
    x << 2
    >> 
    右移运算
    2个
    x >> 2

    一般地,这种位运算中,我们的操作数多用于2的N次方的结果,如0,2,4,8,16,32,64,128...,为什么呢,因为这些数字在转换成二进制后都很

    特别,看一下代码,呵呵

    1   1
    2     10
    4       100
    8     1000
    16     10000
    32     100000
    64     1000000
    128   10000000

    看到时了它,它们只是在最高位是为1,而其它位上都是0,这样对于这些数字在进行位运算时,会有一些性质,我来总结一下:

    对于满足2的N次方的十进制数字有以下运算特性:

    1 与运算可以用来判断某个数是位在另外一个数中存在:

    10 & 2 //结果为2,大于0表示操作数2在操作数1中存在 10=8+2

    2 或运算可以用来将两个数相加在一起

    82 //结果为10,10 | 2 结果还是10,你可以把它转换为二进制看一下,(1000 | 10 为1010,而1010 | 10 结果还是1010 ))呵呵,而10|4结果为14

    3 非运算和与运算在一起使用,可以将一个元素从一个集合里去除

    4 & (~2) //结果为4,4里不包含2,所以直接返回原值4
    3 & (~2) //结果为1,3由1和2组成,所以去掉2后原值变为1

    4 左移运算,每移1位相当于乘2

    4 << 2 //结果为16

    5 右移去处,每移1位相当于除2

    4 >> 2 //结果为1

    总结:

    有时候,我们在书本上看到的及网络上看到的东西,不一定是正确的,有时,要求我们自己打开电脑去验证一下,呵呵!

    有时候,编程的东西,很多时候当你把十进制变成二进制后会,就海阔天空了,呵呵!

    感谢您的阅读!

    回到目录

  • 相关阅读:
    使用golang访问kubebernetes
    使用 Rancher 管理现有 Kubernetes 集群
    Running powershell scripts during nuget package installation and removal
    How to Create, Use, and Debug .NET application Crash Dumps in 2019
    寻找写代码感觉(一)之使用 Spring Boot 快速搭建项目
    Selenium+Java之解决org.openqa.selenium.InvalidArgumentException: invalid argument报错问题
    Selenium环境搭建
    关于Xpath定位方法知道这些基本够用
    Web自动化之浏览器启动
    【翻译】编写代码注释的最佳实践
  • 原文地址:https://www.cnblogs.com/lori/p/2879613.html
Copyright © 2011-2022 走看看