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 必需.一个字符串值.规定了替换文本或生成替换文本的函数. 返回值
随机推荐
- Angular.js前台传list数组由后台spring MVC接收数组示例代码
- Spring Data JPA实现分页Pageable的实例代码
- Maven pom.xml与settings.xml详解
- JS实现仿腾讯微博无刷新删除微博效果代码
- ASP.NET 在下载文件时对其重命名的思路及实现方法
- PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
- asp(vbs)fso OpenTextFile方法参数说明
- C语言顺序表的实现代码
- linux 下同名符号冲突问题解决方案
- Django接受前端数据的几种方法总结
- 给blog加上运行代码功能
- python实现系统状态监测和故障转移实例方法
- SQL Server 2008 安装SQLDMO.dll的方法
- Python使用RethinkDB总结
- 后缀就扩展名为js的文件是什么文件 原创
- Android ListView物流获取追踪功能实现
- BT5不能使用apt-get命令的解决方案
- MySQL主从延迟现象及原理分析详解
- Swift3迁移至Swift4可能遇到的问题小结
- python实现自动发送邮件