当前位置:首页 > 代码相关 > 正文内容

C# 中左移运算

admin5年前 (2020-03-22)代码相关3436

将一个数换算成二进制,整体向左移动指定的位数。

如:7的二进制在Int32中二进制表达为:

00000000 00000000 00000000 00000111

将其左移一位则变为:

00000000 00000000 00000000 00001110

若移位后超出最大位数,则超出部分舍掉,如:

Int32中最大值的二进制数为:

01111111 11111111 11111111 11111111

左移三位,变为:

11111111 11111111 11111111 11111000


下面的代码展示了这个过程

namespace _20200322
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = int.MaxValue;
            int b = a << 3;

            string sta = Convert.ToString(a, 2).PadLeft(32, '0');
            string stb = Convert.ToString(b, 2).PadLeft(32, '0');

            Console.WriteLine("a = " + a);
            Console.WriteLine("b = " + b);

            Console.WriteLine("左移前a:" + sta);
            Console.WriteLine("左移后a:" + stb);

            Console.ReadKey();
        }
    }
}

结果:

image.png

扫描二维码推送至手机访问。

版权声明:本文由lovedm.club发布,如需转载请注明出处。

本文链接:https://lovedm.club/?id=19

标签: C#
分享给朋友:

“C# 中左移运算” 的相关文章

C# 泛型委托

C# 泛型委托

虽然没有必要,但是还是先看看自定义的泛型委托:namespace _20200402 {     class Program     {     &nb...

C# 测量运行时间

使用Stopwatch类进行运行时间的监测要使用 System.Diagnostics 命名空间方法表 4Reset()停止时间间隔测量,并将运行时间重置为零。Restart()停止时间间隔测量,将运行时间重置为零,然后开始测量运行时间。Start()开始或继续测量某个时间间隔的运行时间。...

C# 与文件相关的几个类(3)

Path类,处理文件或路径的类,是一个静态类。方法:PathChangeExtension(String, String)更改路径字符串的扩展名。返回值为string。Combine(String, String)将两个字符串组合成一个路径。GetDirectoryName(String)返回指定路...

C# 多线程(1)

一、首先看几个词的含义:进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。线程:线程(Thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的...

C# 抽象类与接口的比较

相同:都不能被实例化都包含未实现的方法派生类必须实现未实现的方法不同:抽象类可以包含抽象成员,也可以包含非抽象成员,即抽象类可以是完全实现的,也可以是部分实现的,或者是完全不实现的。接口更像是只包含抽象成员的抽象类,或者说接口内的成员都是未被实现的。一个类只能继承一个抽象类(当然其它类也一样),但是...

C# Stack堆栈

Stack代表了一个先入后出的对象集合。有以下常用方法:表 3Clear()从 Stack 中移除所有对象。Contains(Object)确定某元素是否在 Stack 中。CopyTo(Array, Int32)从指定的数组索引处开始,将 Stac...