zoukankan      html  css  js  c++  java
  • C++ 移位运算与进制转换 浅析

    移位运算包括“逻辑移位”(logical shift)和“算术移位”(arithmetic shift)。

    逻辑移位:移出去的位丢弃,空缺位(vacant bit)用 0 填充。

    算术移位:移出去的位丢弃,空缺位(vacant bit)用“符号位”来填充,所以一般用在右移运算中。

    c++中,整数分有符号数和无符号数两种。对于这两种数做左移、右移运算。稍有差别:

    1、假设是无符号数,无论是左移还是右移都是“逻辑移位” 。例,对无符号数 179 做左移、右移操作的结果,都是补0操作;

    2、假设是有符号数。左移运算,那么做的是“逻辑移位”,与无符号数的左移同。假设是做右移运算,那么做的是“算术移位”。


    最后本文给出十进制数转换为二进制的递归工作机制图例。例如以下


    10进制数转换成二进制数,这是一个连续除2的过程:

    把要转换的数,除以2,得到商和余数。

    将商继续除以2,直到商为0。最后将全部余数倒序排列,得到数就是转换结果。



    十进制转十六进制源代码

    #include<iostream>
    #include<string>
    using namespace std;
    string str_16="";
    
    string switch_10_16(int ch)
    {
        switch(ch)
        {
            case 0:return"0";break;
            case 1:return"1";break;
            case 2:return"2";break;
            case 3:return"3";break;
            case 4:return"4";break;
            case 5:return"5";break;
            case 6:return"6";break;
            case 7:return"7";break;
            case 8:return"8";break;
            case 9:return"9";break;
            case 10:return"A";break;
            case 11:return"B";break;
            case 12:return"C";break;
            case 13:return"D";break;
            case 14:return"E";break;
            case 15:return"F";break;
        }
    }
    long int change(long int num)
    {
        if(num<16)
        {
            str_16+=switch_10_16(num); 
            return 0;
        }
        else 
        {
            change(num/16);
            str_16+=switch_10_16(num%16);
        }
    }
    
    int main()
    {
        long str_10;
        cin>>str_10;
        change(str_10);
        cout<<str_16<<endl;
        return 0;   
    } 



  • 相关阅读:
    第20月第30日 集体智慧编程
    第20月第29天 cocoa抽象工厂 cocoapods组件化 cocoapods升级
    第20月第28天 tensorflow
    第20月第27天 游戏编程的人工智能
    第20月第22天 2016计算机大会后记——机器学习:发展与未来
    第20月第18天 小码哥swift
    第20月第17天 mvvm 多次点击push -ObjC
    第20月第14天 objc_getAssociatedObject _cmd
    第20月第9天 paddlepaddle
    第20月第4天 pycharm utf-8
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/7106957.html
Copyright © 2011-2022 走看看