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

C# 中左移运算

admin6年前 (2020-03-22)代码相关3999

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

如: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# 属性,get,set使用

属性反映了状态,是对字段的自然扩展。下面的代码,有一个学生类,类中有年龄属性,通过get,set对年龄进行值的获取与设置,同时对年龄进行约束,使值控制在0-120之间,否则抛出异常信息。namespace _20200324_2 {     cl...

C#事件_Sample_1

事件模型的五个组成部分:1、事件的拥有者(event source,只能是对象或类)2、事件成员(event,成员)3、事件的响应者(event subscriber,对象)4、事件处理器(event handler,成员)--本质上是一个回调方法5、事件订阅--把事件...

C#事件_Sample_3

事件的拥有者同时是事件的响应者using System; using System.Windows.Forms; /// <summary> /// 事件的拥有者同时是事件的响应者 /// </summary> na...

C# 正则表达式(2)

// pattan = @"[^ahou]"; 表示匹配除ahou之外的字符,^在表示反义 string res4 = Regex.Replace(s, @"[^ahou]",&...

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

Directory类:静态类,主要处理文件目录。方法:CreateDirectory(String)在指定路径中创建所有目录和子目录,除非它们已经存在。返回值是一个DirectoryInfo对象Delete(String)从指定路径删除空目录。无返回值。Exists(String)确定给定路径是否引...

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

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