C#,二进制数的按位旋转(Bits Rotate)算法与源代码

1 二进制数的按位旋转

二进制数的按位旋转(翻转)是编程中常见的按位运算方法。

二进制数的按位旋转分为左转、右转。

左转意味着数据变大,右转意味着数据变小(有损)。

2 源程序

using System;
using System.Text;
using System.Collections;
using System.Collections.Generic;

namespace Legalsoft.Truffer.Algorithm
{
    public static partial class Algorithm_Gallery
    {
        public static int Left_Rotate(int n, int d, int INT_BITS = 32)
        {
            return (n << d) | (n >> (INT_BITS - d));
        }

        public static int Right_Rotate(int n, int d, int INT_BITS = 32)
        {
            return (n >> d) | (n << (INT_BITS - d));
        }
    }
}
 

POWER BY TRUFFER.CN
BY 315SOFT.COM

3 代码格式

using System;
using System.Text;
using System.Collections;
using System.Collections.Generic;

namespace Legalsoft.Truffer.Algorithm
{
    public static partial class Algorithm_Gallery
    {
        public static int Left_Rotate(int n, int d, int INT_BITS = 32)
        {
            return (n << d) | (n >> (INT_BITS - d));
        }

        public static int Right_Rotate(int n, int d, int INT_BITS = 32)
        {
            return (n >> d) | (n << (INT_BITS - d));
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/392781.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

TCP三次握手、四次挥手(简易版)

TCP是面向连接的&#xff1a;在真正通讯之前&#xff0c;必须先建立一条通讯线路&#xff0c;必须先完成连接。 TCP完成连接的过程&#xff1a;&#xff08;保证通讯线路畅通&#xff09; 建立连接&#xff1a; 三次握手基本过程 ①客户端首先向服务器发送一个建立连接的…

如何在亚马逊,美客多,阿里国际,速卖通上安全地进行自养号测评?

借鉴亚马逊等跨境电商市场的经验&#xff0c;我们建议选取具备以下特点的产品在平台上销售&#xff0c;以实现需求稳定、竞争较低、利润较高&#xff0c;同时规避法律纠纷和质检问题。首先&#xff0c;应选择体积小、重量轻、易于运输的商品&#xff0c;这有助于降低运输成本和…

Java 2:运算符、表达式和语句

2.1 运算符与表达式 Java提供了丰富的运算符&#xff0c;如算术运算符、关系运算符、逻辑运算符、位运算符等。Java语言中的绝大多数运算符和C语言相同&#xff0c;基本语句如条件分支语句&#xff0c;循环语句等&#xff0c;也和C语言类似。 2.1.1算术运算符与算术表达式 1…

vue打包优化,webpack的8大配置方案

vue-cli 生成的项目通常集成Webpack &#xff0c;在打包的时候&#xff0c;需要webpack来做一些事情。这里我们希望它可以压缩代码体积&#xff0c;提高运行效率。 文章目录 &#xff08;1&#xff09;代码压缩&#xff1a;&#xff08;2&#xff09;图片压缩&#xff1a;&…

计算机网络——17多路复用和解复用

多路复用和解复用 多路复用/解复用 在发送方主机多路复用 从多个套接字接收来自多个进程的报文&#xff0c;根据套接字对应的IP地址和端口号等信息对报文段用头部加以封装&#xff08;连头部信息用于以后的解复用&#xff09; 在接收方主机多路解复用 根据报文段的头部信息中…

揭秘铷原子钟:北斗卫星系统的“心脏”

揭秘铷原子钟&#xff1a;北斗卫星系统的“心脏” 近日&#xff0c;中国科学院精密测量科学与技术创新研究院的梅刚华团队发布了一项重要成果。他们成功将铷原子钟的短期频率稳定度提高到了E-14&#xff08;即10的负14次方&#xff0c;相当于百万亿分之一&#xff09;的量级&a…

七个常用的机器学习算法详解:决策树与随机森林的深入解析

hello宝子们...我们是艾斯视觉擅长ui设计和前端开发10年经验&#xff01;希望我的分享能帮助到您&#xff01;如需帮助可以评论关注私信我们一起探讨&#xff01;致敬感谢感恩&#xff01; 在机器学习中&#xff0c;决策树和随机森林是两个非常常用的算法。它们都属于监督学习的…

Nginx学习笔记

Bilibili尚硅谷视频 Nginx 简介 Nginx 概述 Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理服务器&#xff0c;特点是占有内存少&#xff0c;并发能力强&#xff0c;能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数 。 正向代理 正向代理&#xff1a;如…

Ditto:提升剪贴板体验的宝藏软件(复制粘贴效率翻倍、文本处理好助手)

名人说&#xff1a;莫道桑榆晚&#xff0c;为霞尚满天。——刘禹锡&#xff08;刘梦得&#xff0c;诗豪&#xff09; 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、什么是Ditto&#xff1f;二、下载安装三、如…

Tomcat要点总结

一、Tomcat 服务中部署 WEB 应用 1.什么是Web应用 &#xff08;1&#xff09; WEB 应用是多个 web 资源的集合。简单的说&#xff0c;可以把 web 应用理解为硬盘上的一个目录&#xff0c; 这个目录用于管理多个 web 资源。 &#xff08;2&#xff09;Web 应用通常也称之为…

多模态(三)--- BLIP原理与源码解读

1 BLIP简介 BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation 传统的Vision-Language Pre-training &#xff08;VLP&#xff09;任务大多是基于理解的任务或基于生成的任务&#xff0c;同时预训练数据多是从web获…

【大厂AI课学习笔记】【2.1 人工智能项目开发规划与目标】(7)特征工程的基本方法

今天来学习特征工程的基本方法。 基本方法包括&#xff1a;特征选择&#xff08;Feature Selection&#xff09;、特征提取&#xff08;Feature Extraction&#xff09;和特征构建&#xff08;Feature Construction&#xff09;。 一、特征选择&#xff08;Feature Selection&a…

智慧图书管理系统架构设计与实现

随着数字化时代的到来&#xff0c;智慧图书管理系统在图书馆和机构中扮演着重要的角色。一个优秀的图书管理系统不仅需要满足基本的借阅管理需求&#xff0c;还需要具备高效的性能、良好的扩展性和稳定的安全性。本文将讨论智慧图书管理系统的架构设计与实现&#xff0c;以满足…

shell脚本之高级变量

目录 一、高级变量赋值 1、高级变量赋值总结表 2、相关操作 二、变量间接引用 1、eval命令 一、高级变量赋值 1、高级变量赋值总结表 变量配置方式str 无配置str 为空字符串str 已配置为非空字符串var${str-expr}varexprvarvar$strvar${str:-expr}varexprvarexprvar$str…

GPT-4对编程开发的支持

在编程开发领域&#xff0c;GPT-4凭借其强大的自然语言理解和代码生成能力&#xff0c;能够深刻理解开发者的意图&#xff0c;并基于这些需求提供精准的编程指导和解决方案。对于开发者来说&#xff0c;GPT-4能够在代码片段生成、算法思路设计、模块构建和原型实现等方面给予开…

H5 个人引导页带赞助版源码

H5 个人引导页带赞助版源码 源码介绍&#xff1a;一款带有4个选项的H5自适应引导页&#xff0c;右侧有QQ和微信联系按钮。带有三个赞助按钮。 下载地址&#xff1a; https://www.changyouzuhao.cn/9883.html

印度基金低风险套利回顾

2024年1月19日当天&#xff0c;印度基金(164824)开放申购&#xff0c;限额申购100元&#xff0c;当天溢价率13%左右&#xff0c;这个溢价率已经非常可观了&#xff0c;当然要祭出一拖七大法搞它一把&#xff01; 一拖七套利原理简介 详细的原理和方法可自行在雪球搜索&#…

yolov8源码解读Detect层

yolov8源码解读Detect层 Detect层解读网络各层解读及detect层后的处理 关于网络的backbone,head&#xff0c;以及detect层后处理&#xff0c;可以参考文章结尾博主的文章。 Detect层解读 先贴一下全部代码,下面一一解读。 class Detect(nn.Module):"""YOLOv8 …

每日五道java面试题之java基础篇(十一)

目录: 第一题. Java死锁如何避免&#xff1f;第二题. 为什么⽤线程池&#xff1f;解释下线程池参数&#xff1f;第三题. 线程池的底层⼯作原理第四题. ReentrantLock中tryLock()和lock()⽅法的区别第五题. Sychronized和ReentrantLock的区别? 第一题. Java死锁如何避免&#x…

Open CASCADE学习|曲线的切线

今天要实现的功能是在曲线的终点处沿切线方向延长该曲线。为了解决这个问题&#xff0c;需要求解该曲线在终点处的坐标值以及切矢量。问题转化为&#xff1a;已知曲线TopoDS_Edge aE&#xff0c;求其在终点处的坐标值及切线方向向量。 首先&#xff0c;将TopoDS_Edge对象转化为…