• 编程里的数字游戏


    做网站程序 一天都是那些鬼东东让人越来越白痴

    C++都快忘得快干净了

    其实这些都是些最基础的的东西, 写一段时间程序了突然发现这些最基础的东西才是最有意思的。------\\\\(˙<>˙)/------

    别说有些人就是爱好整这种虚拟的东东 折腾过去折腾过来 ,玩得不亦乐乎  怎么感觉有点像充气娃娃 - -!   无语。。。。。

    位移操作符,只要你对二进制熟悉 那么你就可以熟练的操作他

    int num = 1;
    num <<= 10;
    Console.WriteLine(num);

    左移10位(二进制的位),相当于 2的10次方

    输出结果为1024

    1 int num1 = 0xff00;
    2 int num2 = 0x00ff;
    3 int num3 = num2 | num3;
    4 Console.WriteLine("{0:x4}", num3);

    或运算 可以用来合并位,比如字体样式里就经常用到  加粗|斜体
    此处输出 ffff

    1 int num1 = 0xffff;
    2 int num2 = 0x0001;
    3 int num3 = num2 & num3;
    4 Console.WriteLine("{0:x4}", num3);

    与运算 ,用来根据需要保留或去掉指定的位。这里把最低位以上的全部都去掉了。
    此处输出 0001

    (同理在已知某些位为1的情况下 我们也可以采用此方法 保留某些位而把某些位置为0)

    二进制跟十进制之间转来转去的方法:

    二进制跟十进制之间转来转去的方法:
    
    //字节数组转长整型(二进制转十进制)
    static long byteArToLong(byte[] bytes)
    {
        int [] nums= {1,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144};
        if(bytes.Length>nums.Length)
            throw new Exception("溢出");
        long num=0;
        for (int i = 0; i < bytes.Length; i++)            
            num += (bytes[i] * nums[i]);
        return num;
    }
    
    //长整型转字节数组(十进制转二进制)
    static byte[] numToByteAr(long num)
    {            
        IList<byte> data =new List<byte>();
    
        long dividend = num;
    
        int indx = 0;
        do
        {
            long yu = dividend % 256;
            dividend /= 256;
            data.Add((byte)yu);
        } while (dividend > 0);
        indx = 0;
        byte[] bytes = new byte[data.Count];
    
        foreach (byte b in data)
            bytes[indx++] = b;
    
        return bytes;
    }
    

  • 相关阅读:
    C语言-第四周作业
    第8次Scrum会议(10/20)【欢迎来怼】
    例行报告(20171011-20171019)
    C语言--第二周作业评分和总结(5班)
    C语言-第三周作业
    第一次Scrum会议(10/13)【欢迎来怼】
    单元测试之四则运算
    四则运算V1.1
    例行报告(20170927-20171010)
    C语言--第一周作业评分和总结(5班)
  • 原文地址:https://www.cnblogs.com/assassinx/p/1979254.html
Copyright © 2020-2023  润新知