zoukankan      html  css  js  c++  java
  • 二进制转化

    2017-08-28 10:55:17

    writer:pprp

    在之前写了一个关于bitset用法的贴之后,这是第一次运用,不得不说如果不用的话还是一头雾水

    以后写代码要标记开始时间,和结束时间了,我认为这是一个好习惯

    这次写这个简单的代码也提醒我,应该写一部分就调试一部分,而且一般别用debug,

    正式acm的时候用debug很慢,所以如果要调试的话就应该用cout对结果进行输出

    题意如下:

    题目描述

    编写一个函数,其功能是将一个二进制整数的奇数位反转(0变1,1变0)。

    输入

    输入一个20位以内的二进制数,

    输出

    输出变换后的二进制数。(注意:二进制数前面如果有0要去掉)
     
    /*
    @theme:二进制变换
    @writer:pprp
    @declare:
    @start:10:36
    @end:10:55
    @date:2017/8/28
    */
    
    #include <bits/stdc++.h>
    #include <bitset>
    
    using namespace std;
    
    int main()
    {
        int a;
        cin >> a;
        bitset<20>bs(a);
    //    test
    //    for(int i = 0 ; i < 20 ; i++)
    //      cout << bs[i];
    //    cout << endl;
    
        int store[20];
    
        memset(store, -1, sizeof(store));
    
        bool flag_begin = 0;
    
        for(int i = 19 ; i >= 0 ; i--)
        {
            if(!flag_begin && bs[i] == 0)
            {
                continue;
            }
            if(bs[i] == 1)
            {
                store[i] = 1;
                flag_begin = 1;
            }
            else
                store[i] = 0;
        }
    
    //    for(int i = 0 ; i < 20 ; i++)
    //      cout << store[i];
    //    cout << endl;
    
    
        for(int i = 0 ; i < 20 ; i++)
        {
            if(store[i] == -1)
                break;
            if((i+1)%2 == 1)
            {
                if(store[i] == 0)
                    store[i] = 1;
                else
                    store[i] = 0;
            }
        }
    
        for(int i= 0 ; i < 20 ; i++)
        {
            if(store[i] == -1)
                break;
            cout << store[i];  
        }
        cout << endl;
    
        return 0;
    }
  • 相关阅读:
    哪种写法更好?<script></script> vs/or <script type=”text/javasript”></script>
    JS 脚本应该放在页面哪个位置 head body foot
    List<T> ForEach break
    嵌套JSON 取出name与value
    C# 改变图片尺寸(压缩),Image Resize
    tornado
    appachebench网站压力测试
    mysql分区分表
    redis的持久化存储,RDB与AOF
    MEMCACHE的内存管理和删除策略
  • 原文地址:https://www.cnblogs.com/pprp/p/7442855.html
Copyright © 2011-2022 走看看