精华内容
下载资源
问答
  • 展开全部1101.1转换32313133353236313431303231363533e78988e69d8331333365633938为10进制为13.5进制转换是人们利用符号来计数方法...位权是指,进位制中每一固定位置对应单位二进制数转换为十进制数二进制数第...

    展开全部

    1101.1转换32313133353236313431303231363533e78988e69d8331333365633938为10进制为13.5

    进制转换是人们利用符号来计数的方法。进制转换由一组数码符号和两个基本因素“基数”与“位权”构成。

    基数是指,进位计数制中所采用的数码(数制中用来表示“量”的符号)的个数。

    位权是指,进位制中每一固定位置对应的单位

    二进制数转换为十进制数

    二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……

    所以,设有一个二进制数:0110 0100,转换为10进制为:

    下面是竖式:

    0110 0100 换算成十进制

    第0位 0 * 20 = 0

    第1位 0 * 21 = 0

    第2位 1 * 22 = 4

    第3位 0 * 23 = 0

    第4位 0 * 24 = 0

    第5位 1 * 25 = 32

    第6位 1 * 26 = 64

    第7位 0 * 27 = 0

    公式:第N位2(N)

    ---------------------------

    100

    用横式计算为:

    0 * 20 + 0 * 21 + 1 * 22 + 0 * 23 + 0 * 24 + 1 * 25 + 1* 26 + 0 * 27 = 100

    小数部分:

    1.二进制的小数转换为十进制主要是乘以2的负次方,从小数点后开始,依次乘以2的负一次方,2的负二次方,2的负三次方等。例如二进制数0.001转换为十进制。

    2.第一位为0,则0*1/2,即0乘以2负 一次方。

    3.第二位为0,则0*1/4,即0乘以2的负二次方。

    4.第三位为1,则1*1/8,即1乘以2的负三次方。

    5.各个位上乘完之后,相加,0*1/2+0*1/4+1*1/8得十进制的0.125

    同理问题中的二进制转换为十进制就是:

    1*2^0+0*2^1+1*2^2+1*2^3+1*2^(-2)=13.5

    展开全文
  • 位权是指,进位制中每一固定位置对应单位值。(有知乎解答不错,可以参考阅读以下进制转换原理n进制转换为十进制:如果我们要将n进制转换为十进制,首先我们从n进制的右边为第一位数(从低位到高位),其权值是...

    一.各种进制

    概述:

    进制转换是人们利用符号来计数的方法。进制转换由一组数码符号和两个基本因素“基数”与“位权”构成。

    基数是指,进位计数制中所采用的数码(数制中用来表示“量”的符号)的个数。

    位权是指,进位制中每一固定位置对应的单位值。(有个知乎解答不错,可以参考阅读以下进制转换的原理

    n进制转换为十进制:

    如果我们要将n进制转换为十进制,首先我们从n进制的右边为第一位数(从低位到高位),其权值是n的0次方,第二位是n的1次方,依次递增下去,把最后的结果相加的值就是十进制的值了。

    举个例子:将(34)_n 转换为十进制

    (34)_n=3 n^1 + 4 n^0

    例如:

    (345)_8=3 8^2 + 4 8^1 + 5 * 8^0=(229)_10

    (21)_16=2 16^1 + 1 16^0=33

    (12)_12=1 12^1 + 2 12^0=14

    十进制转换为n进制:

    除n取余法:即每次将十进制数的整数部分除以n,余数为该位权上的数,而商继续除以n,余数又为上一个位权上的数,重复这个步骤。直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。

    ae382fe613f82c84f4baa9872a06849a.png

    将十进制的(796)D转换为十六进制的步骤如下:

    1. 将商796除以16,商49余数为12,对应十六进制的C;
    2. 将商49除以16,商3余数为1;
    3. 将商3除以16,商0余数为3;
    4. 读数,因为最后一位是经过多次除以16才得到的,因此它是最高位,读数字从最后的余数向前读,得到(796)D=(31C)H。

    十进制小数转为n进制:

    乘N取整法:所谓乘N取整法将十进制的小数部分乘以N,得到的整数部分作为小数点后第一位。剩余的小数部分再乘以N,得到的整数部分作为小数点后第二位。直到剩余小数部分为0。

    R进制转换为n进制:

    将R进制的数先转换为十进制数,再将这个十进制数转换为n进制

    代码实现:

    十进制转K进制

    #include<cstdio>
    #include<iostream>
    #include<ctime>
    char a[1000];
    using namespace std;
    int main()
    {
        int y=0,k,n,x;
        char z='A';
        scanf ("%d %d",&n,&x);
        while (n!=0)
        {   
              y++;
                 a[y]=n%x;
              n=n/x;
              if (a[y]>9) a[y]=z+(a[y]-10); 
              else a[y]=a[y]+'0';
        }
        for (int i=y;i>0;i--)
        printf ("%c",a[i]);
        return 0;
    }

    m进制转十进制

    #include<cstdio>
    #include<iostream>
    #include<cstdlib>
    #include<cstring>
    char a[10000];
    using namespace std;
    int main()
    {
       int n,m;
       int f=0;
       scanf ("%s%d",a,&m);
       for (int i=0;i<strlen(a);i++)
       {
            f*=m;
            if (a[i]=='A'||a[i]=='B'||a[i]=='C'||a[i]=='D'||a[i]=='E'||a[i]=='F')
            {
                f=f+(a[i]-'A'+10);
            }
            else
            {
                f=f+(a[i]-'0');
            }
       }
       printf ("%d",f);
       return 0;
    }

    注:用C语言的格式化输入输出可以快速转换10进制,8进制和16进制。

    例:10进制转16进制

    #include <cstido>
    
    int main()
    {
        int a;
        scanf("%d",&a);
        printf("%x",a);
        return 0;
    }

    二.原码,补码,反码

    机器数:

    一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1.

    真值;

    因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如有符号数 1000 0011,其最高位1代表负,其真正数值是 -3 而不是形式值131(1000 0011转换成十进制等于131)。

    所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。

    原码:

    原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值

    如果是8位二进制:

    [+2]原 = 0000 0010

    [-2]原 = 1000 0010

    [1]原 = 0000 0001

    [-1]原 = 1000 0001

    反码:

    反码的表示方法是:

    正数的反码是其本身

    负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.

    [+1] = [0000 0001]原 = [0000 0001]反

    [-1] = [1000 0001]原 = [1111 1110]反

    补码:

    补码的表示方法是:

    正数的补码就是其本身

    负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)

    [+1] = [0000 0001]原 = [0000 0001]反 = [0000 0001]补

    [-1] = [1000 0001]原 = [1111 1110]反 = [1111 1111]补

    三.逻辑命题

    命题;

    作为命题的陈述句所表达的判断结果称为命题的真值。(命题不应有主观性,如我暗恋的人很可爱就不是一个命题)

    真值只取两个值:真或假

    真值为真的命题称为真命题,真值为假的命题称为假命题。

    真命题表达的判断正确,假命题表达的判断错误。

    任何命题的真值都是唯一的。

    复合命题与联结词:

    如果一个命题都是通过诸如“或”,“如果……,则……”等连词联结而成,这样命题,称为复合命题。

    相对地,构成复合命题的命题称为简单命题。

    复合命题通常用1表示真,用0表示假。

    联结词可以嵌套使用,在嵌套使用时,规定如下优先顺序: ( ),┐,∧,∨,→,对于同一优先级的联结词,先出现者先运算。

    逻辑运算与位运算:

    逻辑运算:

    逻辑与(&&):

    运算符两边的表达式的值都为true运算结果为true, 其余情况为false。

    逻辑或(||):

    运算符两边的表达式的值都为false运算结果为false, 其余情况为true。

    位运算:

    按位与(&):

    参加运算的两个数,换算为二进制(0、1)后,进行与运算。只有当 相应位上全部为1时取1, 存在0时为0。

    按位或(|):

    参加运算的两个数,换算为二进制后,进行或运算。只要当 相应位上存在1时取1, 全部为0时为0。

    按位同或(⊙):

    参加运算的两个数,换算为二进制(0、1)后,进行异或运算。只有当 相应位上的数字相同时取1, 不相同为0。

    按位异或(^):

    参加运算的两个数,换算为二进制(0、1)后,进行异或运算。只有当 相应位上的数字不相同时取1, 相同为0。

    按位取反(~):

    参加运算的两个数,换算为二进制(0、1)后, 0变1, 1变0。

    四.位运算装逼必备

    用于消去x的最后一位的1

    x & (x-1)
    x = 1100
    x-1 = 1011
    x & (x-1) = 1000

    判断奇偶数

    if(n & 1 == 1){
        // n 是个奇数。
    }

    交换两个数

    x = x ^ y   // (1)
    y = x ^ y   // (2)
    x = x ^ y   // (3)

    m的n次方

    int pow(int n){
        int sum = 1;
        int tmp = m;
        while(n != 0){
            if(n & 1 == 1){
                sum *= tmp;
            }
            tmp *= tmp;
            n = n >> 1;
        }
    
        return sum;
    }
    展开全文
  • 快速理解二进制计数基数和位权

    千次阅读 2020-01-08 08:52:20
    伸出你右手,从小指开始,给每手指指定一个位权位权依次是1、2...00111这神秘数字就是二进制计数,称它为二进制数是因为它只有0和1两数字,用数学语言来说就是基数为2。依次类推,基数为3是三进制计数...

    在了解二进制之前,首先了解一下什么是次幂(mi)?

    次幂是云南少数民族计算布帛的单位 。"幂“指乘方运算的结果。n^m指将n自乘m次,也叫做n的m次幂。

    好了,了解了什么是次幂后,现在请伸出你的右手,从小指开始,给每个手指指定一个位权,位权依次是1、2、4、8、16。手指有伸直和弯曲两个状态,把伸直状态用数字1表示,弯曲状态用数字0表示。现在将右手的五个手指全部伸直,然后将拇指和食指弯曲,从拇指开始依次记录下每个手指的状态:00111。


    00111这个神秘的数字就是二进制计数,称它为二进制数是因为它只有0和1两个数字,用数学语言来说就是基数为2。依次类推,基数为3的是三进制计数、……、基数为10的就是十进制计数,十进制计数有10个数字,分别是0、1、2、3、4、5、6、7、8、9。

    认识了二进制计数,接下来再说说位权。可以借助于十进制计数来理解位权,在十进制计数中,计数单位分别为个位、十位、百位、千位、万位、十万位……,其中个位数表示数值1、十位数表示数值10、百位数表示数值100、千位数表示数值1000、……,每个位数表示的数值叫位权。位权通过计算基数的n-1次幂就可以得到,这里的n是指位数所在数字中的位置,例如,对十进制数1260来说,个位数是1260的第一个数字,因此n为1;十位数是第二个数字,因此n为2;百位数是第三个数字,因此n为3;千位数是第四个数字,因此n为4。由此,个位数的位权为10的1-1次幂是1,十位数的位权为10的2-1次幂是10、百位数的位权为10的3-1次幂是100、千位数的位权为10的4-1次幂是1000。

    理解了十进制的位权,再来理解二进制的位权就很容易了。前面二进制数00111从低位到高位的位权依次是2的0次幂1、2的1次幂2、2的2次幂4、2的3次幂8、2的4次幂16,这也是前面从小指开始到拇指指定的位权。

    理解了二进制计数的基数和位权,就可以进行数制转换了。00111如何转换成十进制计数呢?转换很简单,将二进制数从高位到低位每个数字乘以相应的位权然后求和就可以了。

    00111(二进制)= 0 * 16 + 0 * 8 + 1 * 4 + 1 * 2 + 1 * 1 = 7(十进制)

    十进制数到二进制数的转换可以采用“除2取余,逆排序”法,具体转换过程是,用2去除一个十进制数,得到商和余数,然后再用2去除商,又会得到商和余数,循环往复直至商为0为止。转换过程如下图所示。

    文章来源:米粒教育

    展开全文
  • 一、二进制的概念计算机进制有:二进制、八进制、十六进制进制基本特点是:每一位置上数字必须在0-(进制-1)范围内,也就是说二进制只能有0、1;八进制为:0-7;十六进制比较特殊为:0-9,A(10) B(11) C(12) D...

    一、二进制的概念

    计算机进制有:二进制、八进制、十六进制

    进制的基本特点是:每一位置上的数字必须在0-(进制-1)的范围内,也就是说二进制只能有0、1;八进制为:0-7;十六进制比较特殊为:0-9,A(10) B(11) C(12) D(13) E(14) F(15)

    进制转换:

    1、非十进制转换十进制:每位数字乘以进制数的权重次方,将所有位置上的结果进行求和即可。

    进制的权重:一个数值,在每一位都有一个权重,权重为从右向左数,位数-1

    进行转化: 举例:将二进制011转10进制为:从右向左,1*2的0次方+1*2的1一次方+0*2的2次方=3; 将八进制34转化成10进制:4*8的0次方+3*8的1次方=28

    2、十进制转非十进制: 采用短除法: 用十进制数除以要转化的进制数,用本次除法的商继续进行除以要转化的进制数的除法运算,一直到商为0,保留每次除法的余数,将余数按照从后往前进行排序,即为最终转化后的数。

    举例:将10进制100转化成八进制数: 十进制 100: 100/8(进制数) 商:12 余数 4 继续用上次的商12除以8:12/8 商:1 余数 4 继续用上次的商1除以8:1/8 商:0 余数 1 商为0,停止运算,将余数从后往前排序:144 得到最终转化后的八进制为144。 十进制转十六进制同理

    二、位运算

    优点:

    (1)特定情况下,计算方便,速度快,被支持面广

    (2)如果用算数方法,速度慢,逻辑复杂

    0ef454738d7a35407b3c723c030cb00c.png

    2.1、按位与&

    两位全为一,结果才为1

    0&0=0;0&1=0;1&0=0;1&1=1;

    用法:

    (1)清零,如果想要将一个单元清零,即使其全部二进制位0,只要与一个各位都为零的数值相与,结果位零

    (2)取一个数中指定位,找一个数,对应X要取的位,该数的对应位为1,其余为零,此数与X进行“与运算”可以得到X中的指定位

    2.2、按位或|

    只要有一个为1,结果就为1

    0|0=0;1|0=1;0|1=1;1|1=1;

    用法:常用来对一个数据的某些位置设为1,找到一个数,对应X要设置为1的位,该数的对应位为1,其余位为零,此数与X想与可使X中某些位设置为1

    2.3、异或运算^

    两个相应位为“异”(值不同),则改位结果为1,否则为0

    0^0=0;0^1=1;1^0=1;1^1=0;

    用法:

    (1)使特定位翻转 找一个数,对应X要翻转的各位,该数的对应位为1,其余位为0,此数与X对应位异或即可

    (2)与0相异或,保留原值

    两个变量交换值

    (1)借助第三个变量来实现

    (2)利用加减法实现两个变量的交换

    A=A+B;B=A-B;B=A-B

    (3)异或运算

    任意一个变量X与其自身进行异或运算,结果为0

    A=A^B;B=A^B;A=A^B

    2.4、取反运算~

    对一个二进制数按位取反,即将0变1,1变0

    ~1=0;~0=1;

    2.5、左移运算<<

    将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)

    2<<1=4

    若左移时舍弃的最高位不包含1,则每左移一位,相当于该数乘以2

    2.6、右移运算>>

    将一个数的二进制位全部右移若干位。正数左补0,负数左补1,右边丢弃。 每右移1位,相当于除以2.

    左补0还是1得看被移数是正还是负

    2.7、无符号右移运算>>>

    各位向右移动指定位数。右移后的左边空出位用0补。右边的位被丢弃。 与>>的不同。 >>>不管正数负数。左边只会补0; >>正数补0,负数补1

    2.8、示例

    原码:一个整数按照绝对值大小转换成的二进制数称为原码

    反码:将二进制数按位取反,取得的新二进制数称为原二进制数的反码。

    补码:反码加1称为补码

    3cf41225a544553e31a2286fdfef35d5.png

    三、JDK内置的进制转换

    c35b44ad3a0838d247208e2e0a4bc83e.png

    a428177cf69ae4b02b1d6d56aea45270.png

    四、JAVA中的进制

    JAVA中二进制用的多吗?平时开发中“进制转换”和“位操作”用的不多,Java处理的是高层;在跨平台中用的较多,如:文件读写,数据通信(客户机(java)——0.1进制——服务器(C))。

    基本类型:int型数据类型:byte(8bit -128~127)1 short(16bit)2 int(32bit)4 long(64bit)8字节float数据类型:单精度(32bit float)4字节 双精度(64bit double)boolean类型变量的取值:true false 1bitchar数据类型:Unicode字符,16位 2字节对应的类类型:Byte Short Integer Long Float Double Boolean Character

    数据类型转换字节:1.大小端:

    小端法:低位字节排放在内存的低地址端即该值的起始地址,高位字节排放在内存的高地址端大端法:高位字节排放在内存的低地址端即该位置的起始地址,低位字节排放在内存的高地址端2.字符串->字节数组:String s ; byte [] bs = s.getBytes();字节数组->字符串:byte[] bs = new byte[int]; String s = new String(bs); 或String s = new String(bs,encode); //encode指编码方式:gb2312, utf8

    展开全文
  • 二进制的位权:固定位置对应单位值。比如一数字从右往左从0开始递增 1.将二进制数转换成十进制 转换规则: 展开位权进行求和运算 100110 1x2^5+0x2^4+0x2^3+1x2^2+1x2^1+0x2^0 1x32+0x16+0x8+1x4+1x2+0x1 32+0+0...
  • 二进制八进制00000011010201131004101511061117二进制转换成八进制方法是,取三合一法,即从二进制的小数点为分界点,向左(或向右)每三取成一,分好组以后,对照二进制与八进制数的对应表(上面表),...
  • 二进制数、八进制、十六进制转换为十进制数的方法:按展开求和 与十进制 (1)二进制转十进制 方法:“按展开求和” 【例】: 规律:个位数字次数是0,十数字次数是1,......,...
  • 什么是二进制17世纪至18世纪德国数学家莱布尼茨是世界上第一提出二进制记数法二进制记数只用0和1两符号无需其他符号二进制数据也是采用位置计数法其位权是以2为底幂例如二进制数据110.11,逢2进1其权...
  • 第02章 数据是用二进制数表示 热身问题 1:32是几字节?  4字节:8为一字节,所以... 0*128+1*64+0*32+1*16 + 1*8+1*4+0*2+0*0 = 4+8+16+64 = 92:将二进制各位位权相乘再相加即可。 3:二进制
  • 二进制数表示法

    2020-08-08 15:29:16
    二进制数表示法 二进制数是数字电路中应用最广泛的一种数值表示方法,在逻辑代数中也经常使用。...式中ki是第i位的系数,它可能是0~9十数字中的任何一,10i叫做第i位的,ki10i是第i位的数值。若整
  • 1.二进制转八进制:3位二进制数展开相加得到1八进制。(注意事项,3位二进制转成八进制是从右到左开始转换,不足时补0)。2.八进制转二进制:八进制通过除2取余法,得到二进制数,对每八进制为3个二进制,...
  • 二进制、八进制、十六进制转换为十进制二进制、八进制和十六进制向十进制转换都非常...更加通俗的理解是,假设一多位(由多数字组成的)某位上的数字是 1,那么它所表示的数值大小就是该位的。1) 整...
  • 方法为:把二进制的数展开、相加及十进制。 3、二进制转八进制: 方法为:3位二进制数展开相加得到1八进制。(注意事项,3位二进制转成八进制是从右到左开始转换,不足时补0)。 4、八进制转...
  • 二进制

    2021-01-31 15:08:52
    相加: 把二进制数首先写成加权系数展开式, 然后按十进制加法规则求和 十进制转二进制 整数部分: "除 2 取余, 逆序排列"法 **小数部分: "乘 2 取整, 顺序排列"法 ** **计算机中信息存储单位 ** ...
  • 更加通俗的理解是,假设一多位(由多数字组成的)某位上的数字是1,那么它所表示的数值大小就是该位的。 整数部分 例如,将八进制数字53627转换成十进制: 53627 = 5×84 + 3×83 + 6×82
  • 进制转换:二进制、八进制、十六进制、十进制之间的转换 不同进制之间的转换在编程中...更加通俗的理解是,假设一多位(由多数字组成的)某位上的数字是1,那么它所表示的数值大小就是该位的。 整数部分
  • (1)首先学会十进制化二进制: 十进制整数转换为二进制...二进制转换成十进制:基数乘以,然后相加,简化运算时可以把数位数是0项不写出来,(因为0乘以其他不为0数都是0)。小数部分也一样,但精确度较少。 方
  • 十进制转换二进制 ...八进制除2取余法,得到二进制数,对每八进制为3个二进制,不足时在最左边补零。 八转十 按展开再相加。 八转十六 先转换为十进制在转换 十六转二 十六进制除2取余法,...
  • 一、二进制数转换成十进制 ...再用2去除商,又会得到一商和余数,如此进行,直到商为零时为止,然后把先得到余数作为二进制数的低位有效,后得到余数作为二进制数的高位有效,依次排列
  • 二进制,十进制,八进制,十六进制转换

    万次阅读 多人点赞 2019-01-07 23:33:55
    二进制一组分开就是八进制, 四一组就是十六进制 二进制与十进制转换 (1)二进制转十进制 方法:“按展开求和” 【例】:整数转换 【例】:小数转换 (0.101)2 = 1x2-1 +0x2-2 +1x2-3 = (0.625)10 规律:...
  • 更加通俗的理解是,假设一多位(由多数字组成的)某位上的数字是 1,那么它所表示的数值大小就是该位的。 整数部分 例如,将八进制数字 53627 转换成十进制: 53627 = 5×84 + 3
  • 二进制一组分开就是八进制, 四一组就是十六进制一、 二进制与十进制、八进制、十六进制转换1、二进制与十进制转换(1)二进制转十进制方法:“按展开求和”【例】:整数转换 【例】:小数转换 (0.101...
  • 二进制、八进制和十六进制向十进制转换都非常容易,就是“按相加”。所谓“”,也即“位”。 假设当前数字是 N 进制,那么: 对于整数部分,从右往左看,第 i 位的等于Ni-1 对于小数部分,恰好相反,要...
  • 十进制 以10为基数计数体制称为十进制。采用10哥数码 0-9,进位规则是逢10进1 ...方法:将二进制数的每一基数为“1”的数的位权相加 举例:将二进制 (1010110)转为十进得出结果为 86 步骤: ...
  • 对于任何一种进制 X ,标识在某一的数运算时,逢X进一。 二进制:逢2进1,用0和1表示; 八进制:逢8进1,0-7; 十进制:逢10进1,0-9; 十六进制:逢16进1,0-9,A-F(10-15); 我们默认使用是10进制计数。 2、...
  • 二进制的魅力

    2020-08-05 09:07:38
    数字和二进制 古时候,人们常常结绳计数。在计算世界中,数字...数位:数字从右至左排位,也称为位 比如 123 = 1 * 100 + 2 * 10 + 3 基数就是 10,1 的数位是 2,2 的数位是 1,3 的数位是 0 所有 123 也可
  • 由来原码: 所谓原码就是机器数,是加了一位符号位的二进制数(因为数值有正负之分),正数符号位为0,负数符号位为1...求原码的方法: 正数:将一个十进制正整数转换二进制数(带符号位), 即是这个数的原码.负数:先计算该...
  • 标题就告诉我们该来还是会来,学了十几年十进制现在告诉我要学二进制,但是这东西很重要很重要,所以还是要重点记 ...二进制数据是采用位置计数法,其位权是以2为底幂。(所有十进制...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 345
精华内容 138
关键字:

二进制个数位的权是