精华内容
下载资源
问答
  • 对于十进制整数 x,我们可以用 x & 1 得到 x 的二进制表示的最低位,它等价于 x % 2: 例如当 x = 3 时,x 的二进制表示为 11,x & 1 的值为 1; 例如当 x = 6 时,x 的二进制表示为 110,x & 1 的值...

    对于十进制整数 x,我们可以用 x & 1 得到 x 的二进制表示的最低位,它等价于 x % 2:

    例如当 x = 3 时,x 的二进制表示为 11,x & 1 的值为 1;

    例如当 x = 6 时,x 的二进制表示为 110,x & 1 的值为 0。

    对于十进制整数 x,我们可以用 x & (1 << k) 来判断 x 二进制表示的第 k 位(最低位为第 0 位)是否为 1。如果该表达式的值大于零,那么第 k 位为 1:

    例如当 x = 3 时,x 的二进制表示为 11,x & (1 << 1) = 11 & 10 = 10 > 0,说明第 1 位为 1;

    例如当 x = 5 时,x 的二进制表示为 101,x & (1 << 1) = 101 & 10 = 0,说明第 1 位不为 1。

    对于十进制整数 x,我们可以用 (x >> k) & 1 得到 x 二进制表示的第 k 位(最低位为第 0 位)。如果 x 二进制表示的位数小于 k,那么该表达式的值为零:

    例如当 x = 3 时,x 的二进制表示为 11,(x >> 1) & 1 = 1 & 1 = 1,说明第 1 位为 1;

    例如当 x = 5 时,x 的二进制表示为 101,(x >> 1) & 1 = 10 & 1 = 0,说明第 1 位为 0。

    例如当 x = 6 时,x 的二进制表示为 110,(x >> 3) & 1 = 0 & 1 = 0,说明第 3 位为 0。

     

    展开全文
  • 1 #include <iostream> 2 #include <cstring> 3 using namespace std; 4 5 void main() 6 { 7 auto fun = [](char *str)->int 8 { 9 int res = 0; 10 ...
     1 #include <iostream>
     2 #include <cstring>
     3 using namespace std;
     4 
     5 void main()
     6 {
     7     auto fun = [](char *str)->int 
     8     {
     9         int res = 0;
    10         char *p = str;
    11         int length = strlen(str);
    12         for (int i = 0; i < length; i++)
    13         {
    14             res *= 2;
    15             res += str[i] - '0';
    16         }
    17         return res;
    18     };
    19 
    20     char str[100];
    21     cin >> str;
    22     cout << fun(str) << endl;
    23     system("pause");
    24 }

     

    转载于:https://www.cnblogs.com/xiaochi/p/8574204.html

    展开全文
  • 课外自学要求:自抽时间,全面复习完第1、2 章内容,目标.../*(1‐1)编写递归函数将十进制数转换成二进制数输出。 * 算法说明: */ #include using namespace std; void d2b(int n) {  if(n  cout  else
     
    

    课外自学要求:自抽时间,全面复习完第1、2 章内容,目标是在阅读程序和编写程序时,

    不会在变量、常量、表达式、运算符等方面出现障碍,为全面复习打基础。

    任务一

    /*(1‐1)编写递归函数将十进制数转换成二进制数输出。

    * 算法说明:

    */

    #include <iostream>
    using namespace std;
    void d2b(int n)
    {
     if(n<2)

      cout<<n;

     else
     {

      d2b(n/2);

      cout<<n%2;
     }

    }
    int main()
    {

     int a;

     cin >> a;

     d2b(a);

     return 0;
    }

     

    展开全文
  • 野生小菜鸟一只,程序效果如下,希望大家多多支持。...3. LIneEdit内加入了正则表达式使之只能输入特定的数。 format.h #ifndef FORMAT_H #define FORMAT_H #include &lt;QDialog&gt; names...

    野生小菜鸟一只,程序效果如下,希望大家多多支持。

    1. 按table切换LineEdit;

    2. 输入要计算的数据后,按回车执行,计算后的数据会显示在同一行的另一个控件中。

    3. LIneEdit内加入了正则表达式使之只能输入特定的数。

    format.h

    #ifndef FORMAT_H
    #define FORMAT_H
    #include <QDialog>
    namespace Ui {
    class Format;
    }
    class Format : public QDialog
    {
        Q_OBJECT
    public:
        explicit Format(QWidget *parent = 0);
        ~Format();
    private:
        Ui::Format *ui;
    private slots:
        void twoTten();
        void twoThex();
        void tenTtwo();
        void tenThex();
        void hexTtwo();
        void hexTten();
        void floatThex();
        void hexTfloat();
    private:
        QString binToDec(QString strBin);
        QString decTobin(QString strDec);
        QString decToHex(QString strDec);
        QString hexToDec(QString strHex);
    };
    #endif // FORMAT_H
    

    format.cpp

    #include "format.h"
    #include "ui_format.h"
    #include <QDebug>
    
    Format::Format(QWidget *parent) :
        QDialog(parent),
        ui(new Ui::Format)
    {
        ui->setupUi(this);
        this->setAutoFillBackground(true);
        this->setPalette(QPalette(QColor(162,200,169)));
    
        QRegExp regBinary("[0-1]*");
        QValidator *validator = new QRegExpValidator(regBinary,this);
        ui->two_ten1->setValidator(validator);
        ui->two_hex1->setValidator(validator);
    
        QRegExp regDecimal("[0-9]*");
        QValidator *validator2 = new QRegExpValidator(regDecimal,this);
        ui->ten_hex1->setValidator(validator2);
        ui->ten_two1->setValidator(validator2);
    
        QRegExp regHexadecimal("[a-fA-F0-9]*");
        QValidator *validator3 = new QRegExpValidator(regHexadecimal,this);
        ui->hex_ten1->setValidator(validator3);
        ui->hex_two1->setValidator(validator3);
    
        connect(ui->two_ten1,SIGNAL(returnPressed()),this,SLOT(twoTten()));
        connect(ui->two_hex1,SIGNAL(returnPressed()),this,SLOT(twoThex()));
        connect(ui->ten_hex1,SIGNAL(returnPressed()),this,SLOT(tenThex()));
        connect(ui->ten_two1,SIGNAL(returnPressed()),this,SLOT(tenTtwo()));
        connect(ui->hex_ten1,SIGNAL(returnPressed()),this,SLOT(hexTten()));
        connect(ui->hex_two1,SIGNAL(returnPressed()),this,SLOT(hexTtwo()));
        connect(ui->float_hex1,SIGNAL(returnPressed()),this,SLOT(floatThex()));
        connect(ui->hex_float1,SIGNAL(returnPressed()),this,SLOT(hexTfloat()));
    }
    
    Format::~Format()
    {
        delete ui;
    }
    
    void Format::twoTten(){  //二进制转十进制
        QString binary = ui->two_ten1->text();
        QString decimal = binToDec(binary);
        ui->ten_two1->setText(decimal);
    }
    void Format::twoThex(){  //二进制转十六进制
        QString binary = ui->two_hex1->text();
        QString hexadecimal = decToHex(binToDec(binary));
        ui->hex_two1->setText(hexadecimal);
    }
    void Format::tenThex(){  //十进制转十六进制
        QString decimal = ui->ten_hex1->text();
        QString hexadecimal = decToHex(decimal);
        ui->hex_ten1->setText(hexadecimal);
    }
    void Format::tenTtwo(){  //十进制转二进制
        QString decimal = ui->ten_two1->text();
        QString binary = decTobin(decimal);
        ui->two_ten1->setText(binary);
    }
    void Format::hexTten(){  //十六进制转十进制
        QString hexadecimal = ui->hex_ten1->text();
        QString decimal = hexToDec(hexadecimal);
        ui->ten_hex1->setText(decimal);
    }
    void Format::hexTtwo(){  //十六进制转二进制
        QString hexadecimal = ui->hex_two1->text();
        QString binary = decTobin(hexToDec(hexadecimal));
        ui->two_hex1->setText(binary);
    }
    void Format::floatThex(){
        QString strFloat = ui->float_hex1->text();
        float f = strFloat.toFloat();
        int i = *((int *)&f);
        QString float2 = QString("%1").arg(i,8,16,QLatin1Char('0'));
        QString step =float2;
        float2 = float2.right(4)+step.left(4);
        ui->hex_float1->setText(float2);
    }
    void Format::hexTfloat(){
        QString strHex = ui->hex_float1->text();
        QString step = strHex;
        strHex = strHex.right(4)+step.left(4);
        int c = hexToDec(strHex).toInt();
        float d = *(float*)&c;
        QString radiation = QString("%1").arg(d);
        ui->float_hex1->setText(radiation);
    }
    

    xijei.cpp

    #include "format.h"
    #include <QDebug>
    
    QString Format::binToDec(QString strBin){  //二进制转十进制
        QString decimal;
        int nDec = 0,nLen;
        int i,j,k;
        nLen = strBin.length();
        for(i=0;i<nLen;i++){
            if(strBin[nLen-i-1]=="0")
                continue;
            else{
                k=1;
                for(j=0;j<i;j++)
                    k=k*2;
                nDec+=k;
            }
        }
        decimal = QString::number(nDec);
        return decimal;
    }
    QString Format::decTobin(QString strDec){  //十进制转二进制
        int nDec = strDec.toInt();
        int nYushu, nShang;
        QString strBin, strTemp;
        //TCHAR buf[2];
        bool bContinue = true;
        while ( bContinue )
        {
            nYushu = nDec % 2;
            nShang = nDec / 2;
            strBin=QString::number(nYushu)+strBin; //qDebug()<<strBin;
            strTemp = strBin;
            //strBin.Format("%s%s", buf, strTemp);
            nDec = nShang;
            if ( nShang == 0 )
                bContinue = false;
        }
        int nTemp = strBin.length() % 4;
        switch(nTemp)
        {
        case 1:
            //strTemp.Format(_T("000%s"), strBin);
            strTemp = "000"+strBin;
            strBin = strTemp;
            break;
        case 2:
            //strTemp.Format(_T("00%s"), strBin);
            strTemp = "00"+strBin;
            strBin = strTemp;
            break;
        case 3:
            //strTemp.Format(_T("0%s"), strBin);
            strTemp = "0"+strBin;
            strBin = strTemp;
            break;
        default:
            break;
        }
        return strBin;
    }
    QString Format::decToHex(QString strDec){  //十进制转十六进制
        int hex = strDec.toInt();
        QString hex1 = QString("%1").arg(hex,8,16,QLatin1Char('0'));
        return hex1;
    }
    int hex2(unsigned char ch){          //十六进制转换工具
        if((ch >= '0') && (ch <= '9'))
            return ch-0x30;
        else if((ch >= 'A') && (ch <= 'F'))
            return ch-'A'+10;
        else if((ch >= 'a') && (ch <= 'f'))
            return ch-'a'+10;
        return 0;
    }
    QString Format::hexToDec(QString strHex){  //十六进制转十进制
        int i;
        int v = 0;
        for(i=0;i<strHex.length();i++)
        {
            v*=16;
            v+=hex2(strHex[i].toLatin1());
        }
        return QString::number(v);
    }
    

    功能上:基本功能是有了,但程序在计算范围上有些局限;

    界面上:美观性不好,需要怎样调整和设计出好看的界面还未可知。

    要是有路过的野生大牛还请对这个程序指点一二,不胜感激!

     

     

    展开全文
  • 进制转十进制: [chengmo@centos5 ~]$ ((num=0123));[chengmo@centos5 ~]$ echo $num;83 [chengmo@centos5 ~]$ ((num=8#123));[chengmo@centos5 ~]$ echo $num;83 ((表达式)),(())里面可以是任意数据...
  • 进制转十进制: [chengmo@centos5 ~]$ ((num=0123)); [chengmo@centos5 ~]$ echo $num; 83 [chengmo@centos5 ~]$ ((num=8#123)); [chengmo@centos5 ~]$ echo $num; 83 ((表达式)),((...
  • 野生小菜鸟一只,程序效果如下,希望大家多多支持。...3. LIneEdit内加入了正则表达式使之只能输入特定的数。format.h#ifndef FORMAT_H#define FORMAT_H#include namespace Ui {class Format;}class Fo...
  • 十进制转二进制的除二取余倒序法的逻辑依据是什么?可以用十进制来类比:一个数123456789用除十取余求它的十进制表达式 第一次除以10,商12345678 余9, 第二次除以10,商1234567 余8, 第三次除以10,商123456 ...
  • package kata_007_二进制序列转十进制int; /** * java8 Lambda表达式转换binary序列->十进制数 */ import java.util.ArrayList; public class ShortBinaryToDecimal { public static void main(String...
  • 老师布置作业如下:1、十进制数7转换为二进制数是( )2、十进制数1000对应二进制数为( ),对应十六进制数为( )3、十进制数2004对应八进制数为( )4、十进制数2006对应十六进制数为( )5、十进制算术表达式: ...
  • 十六进制字符转换成十进制表达式: number=number*16+hexad[i]-'0'; //数字字符 number=number*16+hexad[i]-'A'+10; //大写英文字符 number=number*16+hexad[i]-'a'+10; //小写英文字符 //例7-14 //滤去所有...
  • 一 进制转换 十进制转化其他进制使用string=Convert.ToString(十进制数,想转化的进制)。... 表达式与运算符 1 / 除号,取整部分,不算余数。 %,取余部分,不算整数。 除法:Float类型的浮点数/整数,得到floa
  • 本课程搜集了各大互联网公司的Python面试题以及类似的题目。...Python相关知识包括基本语法、正则表达式、字符串、数据库、网络、Web等。算法包括了一些出镜率高的内容、如与链表、树、数组相关的算法。...
  • 题目 题目链接 二进制数转字符串。给定一个介于0和1之间的实数(如0.72),类型为double,打印它的二进制表达式。如果该数字不在0和1之间,或者...十进制小数转二进制技巧 代码 class Solution { public String p
  • 本课程搜集了各大互联网公司的Python面试题以及类似的题目。...Python相关知识包括基本语法、正则表达式、字符串、数据库、网络、Web等。算法包括了一些出镜率高的内容、如与链表、树、数组相关的算法。...
  • 本课程搜集了各大互联网公司的Python面试题以及类似的题目。...Python相关知识包括基本语法、正则表达式、字符串、数据库、网络、Web等。算法包括了一些出镜率高的内容、如与链表、树、数组相关的算法。...
  • 本课程搜集了各大互联网公司的Python面试题以及类似的题目。...Python相关知识包括基本语法、正则表达式、字符串、数据库、网络、Web等。算法包括了一些出镜率高的内容、如与链表、树、数组相关的算法。...
  • 本课程搜集了各大互联网公司的Python面试题以及类似的题目。...Python相关知识包括基本语法、正则表达式、字符串、数据库、网络、Web等。算法包括了一些出镜率高的内容、如与链表、树、数组相关的算法。...
  • 本课程搜集了各大互联网公司的Python面试题以及类似的题目。...Python相关知识包括基本语法、正则表达式、字符串、数据库、网络、Web等。算法包括了一些出镜率高的内容、如与链表、树、数组相关的算法。...
  • 本课程搜集了各大互联网公司的Python面试题以及类似的题目。...Python相关知识包括基本语法、正则表达式、字符串、数据库、网络、Web等。算法包括了一些出镜率高的内容、如与链表、树、数组相关的算法。...
  • c#中的进制转换

    2014-12-10 23:51:00
    今天偶然接触到了一个位或的表达式,就像着自己做一个进制之间的转换器,基本功不扎实,二进制之间的运算稀里糊涂的。 常见的进制方式,主要有二进制,八进制,十进制和十六进制,通用的转换方式是把非十进制的数据...

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 288
精华内容 115
关键字:

十进制转二进制表达式