一个例子理解C#位移

C#位移运算,位运算 位移运算,位运算(与& 或| 非~ 异或^) 阅读详情

来自:http://blog.youkuaiyun.com/porschev/article/details/6851714

很多人觉得位移这东西很复杂,二进制一堆0、1看不懂。。。


其实很简单。。。


位移理解可能简单一些:其实位移就是数据转换成二进制的左右移动;右移左补0,左移右补0,后面多出来的部分去掉。


用乘除法去理解位移也可以:

     左位移:相当于乘

             左移1位相当于乘2,左移2位相当于乘4,左移3位相当于乘8,左移4位相当于乘16...类推

     右位移:相当于除

             右移1位相当于除2,右移2位相当于除4,右移3位相当于除8,右移4位相当于除16...类推


 http://www.dtan.so

下面用一个我曾回帖用过的例子帮助理解


把89右位移一位:

  1. string flag = Convert.ToString(89, 2);    //这是把你的89转为2进制数。。  
  2.    
  3. //flag结果:1011001  
  4.  //你要右位移,左边补个0,后面多出来一位去掉  
  5.   
  6.  int j = Convert.ToInt32("0101100", 2);    //再把2进制转化了10进制数。。  
  7.   
  8.  //结果:44  
  9.   
  10.  //位移就是这么简单 

C#程序员整理的Unity 3D笔记(十):Unity3D的位移、旋转的3D数学模型 据说80%、90%Unity 3D程序员是自学的,大多数是看看书、实战视频、源码分析;而科班出生的同学会有3D数学这门核心课–估计占一个学期、会有作业等。为了赶上科班同学的水平,花点时间,补补数学知识,会使得自己少走一些弯路。一句话:”3D数学模型很关键。“ 阅读详情

相关推荐

C# 中的右位移运算符详解

综上所述,右位移运算符是一种在C#中用于将整数的二进制表示向右移动指定位数的位运算符。根据右位移运算符的规则,最高位的符号位保持不变,即仍为 1。右位移运算符的作用是将 a 的二进制表示向右移动 b 位。右位移运算符是一种常用的位运算符,在C#语言中,它用来将一个整数的二进制表示向右移动指定的位数。需要注意的是,右位移运算符的移动位数不能超过整数类型的位数。右位移运算符使用符号 “>>” 表示,它的使用形式为 “a >> b”,其中 a 是要进行右位移操作的整数,b 是要移动的位数。如有疑问,请随时提问。

WELL_CODER的博客 737

C# 位移运算

左移<< 运算符 将 x 向左位移若干个位,放弃 x 中经移位后会超出结果类型范围的那些高序位,将其余的位向左位移,将空出来的低序位均设置为零。 右移>> 运算符 将 x 向右位移若干个位 当 x 为 int 或 long 类型时,放弃 x 的低序位,将剩余的位向右位移,如果 x 非负,则将高序空位位置设置为零,如果 x 为负,则将其设置为 1。 当 x...

weixin_30535167的博客 897

深入理解C#中的算术运算符和位移操作

本文深入探讨了C#编程语言中的算术运算符和位移操作符。首先,我们详细解释了乘法、除法、余数、加法和减法运算符,以及它们如何处理不同类型的数据和可能产生的溢出情况。接着,我们分析了位移操作符<<和>>,包括它们在不同类型上的行为差异以及如何进行位移计数。文章还涵盖了关系和类型测试运算符,如==, !=, <, >, <=, >=, is, 和 as,以及它们在比较操作中的具体作用和返回值。

weixin_32312889的博客 501

【Unity/C#】C#中<<位移运算符的意义,及脚本中常见的使用场景

在C#中,

qq_16558821的博客 1484

C#位移的介绍与例子

其实很简单。。。 C#位移运算符: 左移:<< 右移:>> 位移理解可能简单一些:其实就是数据转换成二进制的左右移动;右移左补0,左移右补0,后面多出来的部分去掉。 用乘除法去理解位移也可以:      左位移:相当于乘              左移1位相当于乘2,左移2位相当于乘4,左移3位相当于乘8,左移4位相当于乘16…类推      右位移:相当于除              右移1位相当于除2,右移2位相当于除4,右移3位相当于除8,右移4位相当于除16…类推 下面用一个曾经回答一个网友的提问来理解一下位移的运算 题目:把89右位移一位: 代码如下:string flag = Co

STM32外部中断与事件机制深度解析:从硬件触发到软件响应

本文深入解析STM32外部中断与事件机制,从硬件触发到软件响应的完整流程。通过对比中断和事件的应用场景、响应速度及配置方法,帮助开发者优化嵌入式系统设计,特别适合需要低功耗或高实时性的项目。

weixin_29175469的博客 407

C# 取高8位或低8位

C# 取高8位或低8位取高8位或低8位 取高8位或低8位 int value = 12345; int low = value & 0xff; // 低8位 int high = (value >> 8) & 0xff; // 高8位

SlowFeather's blog 6369

Intel SGX Explained

计算机中最主要的资源是CPU和内存,由操作系统和虚拟管理系统等系统软件来管理这些资源。

hanqdi_的博客 3452

深入理解C#位运算:掌握位运算符的妙用

1. 开头一问本文开始前,先给出站长前几天面试,一位面试官C语言大佬给的一题:inti=255; i<<=24; i>>=24;问题:最终i 等于多少?如果i是uint类型,最终i结果是多少?2. C#位运算C#位运算是一种强大的工具,可以在处理二进制数据和位操作时发挥重要作用。通过使用位运算符,我们可以对整数进行位级别的操作,如位与、位或、位异或和位取反等。...

zls365365的博客 246

机器人强化学习入门学习笔记

如果你追求高精度动力学仿真、用于强化学习或机器人研究,MuJoCo 是一个非常优秀的选择。如果需要快速实验、使用真实机器人模型,PyBullet 或 Gazebo可能更合适;如果你追求大规模并行训练,Isaac Gym 或 BraX会更高效。legged gym底层是​编辑isaacgym,基于gpu训练可以多环境并行训练,收敛到一个稳定行走的策略快。本视频MuJoCo基于cpu训练很慢。

xiaomu_347的博客 1447

最新版IAR9.40和注册工具

IAR最新版的IDE在编译速度和代码提示等各个方面上都有很大提升,软件这个东西果然还是越新越好。之前的时候,IAR v9系列网上很多人都说能用,但是又没有把 IAR v9系列的注册方法写的很清楚,导致我一直都用注册老版本v8的方法去注册v9。结果注册后都会提示。

xue_nuo的博客 4万+

C#中位移的使用

C#移位运算(左移和右移) 通俗的说,位移的实现是将数据转换成二进制后,进行左右移动的。如果左移,则右边补零,如果是右移,则是左边补零,后边溢出的则去掉。因此,左移可以理解为整数的乘法,而右移则是理解为整数的取整除法。 C#是用<<(左移) 和 >>(右移) 运算符是用来执行移位运算。 左移 (<<) 将第一个操作数向左移动第二个操作数指定的...

weixin_30906185的博客 379

【查找单入口空闲区域】-python实现-附ChatGPT解析

时间限制:1s 空间限制: 256MB 限定语言:不限题目描述:给定一个 m x n 的矩阵,由若干字符X’和 O构成,"X表示该处已被占据,O表示该处空闲,请找到最大的单入口空闲区域。空闲区域是由连通的O组成的区域,位于边界的O可以构成入口,单入口空闲区域即有且只有一个位于边界的o作为入口的由连通的O组成的区域如果两个元素在水平或垂直方向相邻,则称它们是“连通”的。第一行输入为两个数字,第一个数字为行数m,第二个数字列数n,两个数字以空格分隔,1

sinat_29950703的博客 242

PI电动位移平台简明教程

PI电动位移平台简明教程

scd 4436

7.91版本unidbg调用方式

【代码】xhs最新7.91版本unidbg调用方式。

Codeooo 博客 1106

Transformer实战(5)——Hugging Face环境配置与应用详解

本文详细介绍 Transformer 模型的实践应用全流程。首先讲解基于 Anaconda 的环境配置,包括 transformers 库安装及 hf-mirror 镜像加速方案。然后以 BERT 为例,演示分词器使用、文本编码及 fill-mask 等任务实现,对比 PyTorch/TensorFlow 框架差异。接着展示 Hugging Face 社区模型应用,包括 GPT-2 文本生成和零样本分类。最后扩展至多模态领域,使用 CLIP 模型实现零样本图像分类。

盼小辉丶的博客 1万+

C#中38个常用的运算符优先级的划分和理解

在C#中,一共有38个常用的运算符,根据它们所执行运算的特点和它们的优先级,为了便于记忆,我将它们归为七个等级:1、单元运算符和括号。2、常规算术运算符。3、位移运算符。4、比较运算符。5、逻辑运算符。6、各种赋值运算符。7、右位(后缀)单元运算符。 1、在这一级中,有++、--(做为前缀)、()、+、-(做为单元运算符)、!、~。这一级中都是单元运算符,除了其中那一对特殊的具有改变任何运算

Leijin_Qin的博客 2516

Android 13.0 app进程保活白名单功能实现

在13.0的系统rom产品开发中,在某些重要的app即使进入后台,产品需求要求也不想被系统杀掉进程,需要app长时间保活,就是app进程保活白名单功能的实现, 所以需要在系统杀进程的时候不杀掉白名单的进程,接下来就看怎么样来实现这些功能

安卓兼职framework和app工程师的博客 3141

正经学C#_位移与其位移运算符[c#入门经典]

在c#入门经典一书中,最为糟糕的一节就是位移了,完全没有讲明白,也没有说全,似乎只是轻轻点了一下何为位移,带了两次原码和补码,完全不理会是否明白不明白。这一点这本书很差。因为此书说了,在大多数应用开发中,除了数学应用,这个功能不是很好常用。 位移,是对操作数的二进制进行操作,计算中,二进制是以补码方式计算 何为 原码,补码。 原码:数字的二进制 补码,计算机系统中数值的存储方式,二进制的...

weixin_30732487的博客 217

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

位移枚举

开发中,我们经常看到很多的位移枚举,一般来说,见到位移枚举,我们都是可以写多个的,用 | 来隔开,就能识别。其实按照习惯的惯例,我们通常看到枚举,看不懂,就写个0,其实这样不好,还是要理解一下枚举的内容,是不是我们想要的 那么我们来模拟一下,看位移枚举,究竟是个什么东西自定义一个枚举 根据位移的常识,我们得出了偏移后的数值 typedef NS_OPTIONS(NSUInteger, ActionT

iOS开发 4244

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

C#l里的位移符号

今天有一个人问我C#里面的位移符号是怎么运算的,他说他懂就是总是记不住,我给他支了招 print(16>>3); 16 / (2的三次方) 说白了那个3就是指数 >>箭头往外是借出去 借钱 就是除 <<箭头往里面就是取钱 就是乘 嘿嘿... 转载于:https://www.cnblogs.com/Keyle/p/...

weixin_30535913的博客 89

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: 分享一下cookies操作(增、删、改、查)小经验
下一篇: c# 调用windows API
ArvinStudy
博客等级 码龄15年 83粉丝 193原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值