C#位移的介绍与例子
其实很简单。。。
C#位移运算符:
左移:<<
右移:>>
位移理解可能简单一些:其实就是数据转换成二进制的左右移动;右移左补0,左移右补0,后面多出来的部分去掉。
用乘除法去理解位移也可以:
左位移:相当于乘
左移1位相当于乘2,左移2位相当于乘4,左移3位相当于乘8,左移4位相当于乘16...类推
右位移:相当于除
右移1位相当于除2,右移2位相当于除4,右移3位相当于除8,右移4位相当于除16...类推
下面用一个曾经回答一个网友的提问来理解一下位移的运算
string flag = Convert.ToString(89, 2); //这是把你的89转为2进制数。。
//flag结果:1011001
//你要右位移,左边补个0,后面多出来一位去掉
int j = Convert.ToInt32("0101100", 2); //再把2进制转化了10进制数。。
//结果:44
//位移就是这么简单
这样理解位移运算就很容易...
相关推荐
-
C#位移的介绍与例子
其实很简单... C#位移运算符: 左移:<< 右移:>> 位移理解可能简单一些:其实就是数据转换成二进制的左右移动;右移左补0,左移右补0,后面多出来的部分去掉. 用乘除法去理解位移也可以: 左位移:相当于乘 左移1位相当于乘2,左移2位相当于乘4,左移3位相当于乘8,左移4位相当于乘16...类推 右位移:相当于除 右移1位相当于除2,右移2位相当于除4,右移3位相当于除8,右移4位相当于除16...类推 下面用一个曾经回答一个网友的提问来理解一下位移的运算 题目:把89右位移
-
Java JDK动态代理的基本原理详细介绍
JDK动态代理详解 本文主要介绍JDK动态代理的基本原理,让大家更深刻的理解JDK Proxy,知其然知其所以然.明白JDK动态代理真正的原理及其生成的过程,我们以后写JDK Proxy可以不用去查demo,就可以徒手写个完美的Proxy.下面首先来个简单的Demo,后续的分析过程都依赖这个Demo去介绍,例子采用JDK1.8运行. JDK Proxy HelloWorld package com.yao.proxy; /** * Created by robin */ public inter
-
C# 递归函数详细介绍及使用方法
什么是递归函数/方法? 任何一个方法既可以调用其他方法也可以调用自己,而当这个方法调用自己时,我们就叫它递归函数或递归方法. 通常递归有两个特点: 1. 递归方法一直会调用自己直到某些条件被满足 2. 递归方法会有一些参数,而它会把一些新的参数值传递给自己. 那什么是递归函数?函数和方法没有本质区别,但函数仅在类的内部使用.以前C#中只有方法,从.NET 3.5开始才有了匿名函数. 所以,我们最好叫递归方法,而非递归函数,本文中将统一称之为递归. 在应用程序中为什么要使用递归?何时使用递归?如何
-
TypeScript基础类型介绍
目录 1.基础类型 2.对象类型 2.1数组 2.2元组 2.3对象 3.类型推断 3.1类型联合中的类型推断 3.2上下文类型 4.类型断言 TS 的静态类型可以人为的分为两类: 基础类型:像布尔值(boolean).数字(number).字符串(string).Any(任意类型).Void(无类型).Null. Undefined.Never(无值类型) 对象类型:像数组.函数.对象.枚举.元组. 1.基础类型 TS的类型定义主要通过以下示例代码中演示的方式进行定义: ;(function
-
EJB3.0之实体Bean的继承
在EJB3.0中,实体Bean可以实现继承关系. 比如有个Person的实体bean,它有姓名和性别两个属性. 上帝和女娲造人的时候,造出两种人:Man和Woman.Man和Woman都是实体Bean,而且他们都继承Person. 单一表策略就是副实体和子实体的数据都存放在一张表中,同时指定一列用来区别这些实体. 如: @Entity @Inheritance(strategy = InheritanceType.SINGLE_TABLE, discriminatorType = Discrim
-
JavaScript 继承详解(三)
注:本章中的jClass的实现参考了Simple JavaScript Inheritance的做法. 首先让我们来回顾一下第一章中介绍的例子: function Person(name) { this.name = name; } Person.prototype = { getName: function() { return this.name; } } function Employee(name, employeeID) { this.name = name; this.employe
-
强大Vue.js组件浅析
什么是组件:组件是Vue.js最强大的功能之一.组件可以扩展HTML元素,封装可重用的代码.在较高层面上,组件是自定义的元素,Vue.js的编译器为它添加特殊功能.在有些情况下,组件也可以是原生HTML元素的形式,以is特性扩展. 如何注册组件? 需要使用Vue.extend方法创建一个组件,然后使用Vue.component方法注册组件.Vue.extend方法格式如下: var MyComponent = Vue.extend({ // 选项...后面再介绍 }) 如果想要其他地方使用这个创
-
python通过get,post方式发送http请求和接收http响应的方法
本文实例讲述了python通过get,post方式发送http请求和接收http响应的方法.分享给大家供大家参考.具体如下: 测试用CGI,名字为test.py,放在apache的cgi-bin目录下: #!/usr/bin/python import cgi def main(): print "Content-type: text/html\n" form = cgi.FieldStorage() if form.has_key("ServiceCode") a
-
ASP.NET Cache的一些总结分享
1.1.1 摘要 最近我们的系统面临着严峻性能瓶颈问题,这是由于访问量增加,客户端在同一时间请求增加,这迫使我们要从两个方面解决这一问题,增加硬件和提高系统的性能. 大家可以通过各种各样的方法去优化我们系统,本篇博文将介绍通过Cache方法来优化系统的性能,减轻系统的负担. 1.1.2 正文 不同位置的缓存 在Web应用程序中的使用缓存位置主要有:客户端浏览器缓存.客户端和服务器中以及服务器端,因此缓存可以分为以下几类: 客户端缓存(Client Caching) 代理缓存(Proxy Cach
-
详解JavaScript 中的 replace 方法
定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. stringObject.replace(regexp/substr,replacement) 参数 描述 regexp/substr 必需.规定子字符串或要替换的模式的 RegExp 对象. 请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象. replacement 必需.一个字符串值.规定了替换文本或生成替换文本的函数. 返回值
随机推荐
- PHP preg_replace() 正则替换所有符合条件的字符串
- ExtJS4的文本框(textField)使用正则表达式进行验证(Regex)的方法
- linux apache下虚拟主机配置方法
- discuz免激活同步登入代码修改方法(discuz同步登录)
- 简化php模板页面中分页代码的解析
- php实现给一张图片加上水印效果
- MySQL的查询计划中ken_len的值计算方法
- java中以DES的方式实现对称加密并提供密钥的实例
- Jquery使用css方法改变样式实例
- C#基础教程之IComparable用法,实现List<T>.sort()排序
- jQuery实现自动与手动切换的滚动新闻特效代码分享
- 使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
- JS中的prototype与面向对象的实例讲解
- java 中ThreadLocal实例分析
- 由于mysql运行权限导致无法找到 Discuz! 论坛数据表! 的解决方法
- Java终止线程实例和stop()方法源码阅读
- Vue.js通用应用框架-Nuxt.js的上手教程
- Java语言实现最大堆代码示例
- python list是否包含另一个list所有元素的实例
- Python操作Mongodb数据库的方法小结