精华内容
下载资源
问答
  • 题目链接 ... 与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置的(值-1)为指数,以2为底数的幂之和的形式。一般说来,任何一个正整数R或一个负整数-R...

    题目链接 

    问题描述 
      我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式。例如:123可表示为 1*102+2*101+3*100这样的形式。
      与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置的(值-1)为指数,以2为底数的幂之和的形式。一般说来,任何一个正整数R或一个负整数-R都可以被选来作为一个数制系统的基数。如果是以R或-R为基数,则需要用到的数码为 0,1,....R-1。例如,当R=7时,所需用到的数码是0,1,2,3,4,5和6,这与其是R或-R无关。如果作为基数的数绝对值超过10,则为了表示这些数码,通常使用英文字母来表示那些大于9的数码。例如对16进制数来说,用A表示10,用B表示11,用C表示12,用D表示13,用E表示14,用F表示15。
      在负进制数中是用-R 作为基数,例如-15(十进制)相当于110001(-2进制),并且它可以被表示为2的幂级数的和数:
      110001=1*(-2)5+1*(-2)4+0*(-2)3+0*(-2)2+
      0*(-2)1 +1*(-2)0
       设计一个程序,读入一个十进制数和一个负进制数的基数, 并将此十进制数转换为此负进制下的数: -R∈{-2,-3,-4,...,-20}

    分析:将十进制数转为-r的负进制数,可以像普通的进制转换一样进行,只不过要特殊处理余数为负数的情况(因为展开式都是正数)。

    #include <iostream>
    #include <stack>
    #include <cmath>
    using namespace std; 
    
    int main(int argc, char** argv) {
    	stack<char> s;
    	int n, r;
    	cin>> n >> r;
    	int m = n;
    	while( n){
    		int x = n%r;
    		int y = x >= 0 ? x : abs(r)+x; // x < 0; 
    		if( y < 10)  s.push( y+'0');
    		else  s.push( y-10+'A');
    		n /= r;
    		if( x < 0) n++; 
    	} 
    	cout<< m<< "=";
    	while( !s.empty()){
    		cout<< s.top();
    		s.pop();
    	}
    	cout<< "(base"<< r<< ")\n";
    	return 0;
    }

     

    入格式 
      一行两个数,第一个是十进制数N(-32768<=N<=32767), 第二个是负进制数的基数-R。

    出格式 
      输出所求负进制数及其基数,若此基数超过10,则参照16进制的方式处理。(格式参照样例)

      输入1
      30000 -2

    样例输出

    30000=11011010101110000(base-2)

    样例输入

    -20000 -2

    样例输出

    -20000=1111011000100000(base-2)

    样例输入

    28800 -16

    样例输出

    28800=19180(base-16)

    样例输入

    -25000 -16

    样例输出

    -25000=7FB8(base-16)

     

    展开全文
  • 十进制二进制转换

    2019-10-27 13:58:10
    初赛中经常遇到选择题,十进制二进制之间的互相转换,被学生也问倒了几次。特此记录下。 正数十进制二进制 除二取余,逆序排列。 负数十进制二进制 1.负数转为正数 -5 -> 5 2.求其二进制 5 ->...

    初赛中经常遇到选择题,十进制和二进制之间的互相转换,被学生也问倒了几次。特此记录下。

    正数十进制转二进制

    除二取余,逆序排列。

    负数十进制转二进制

    1.负数转为正数 -5 -> 5
    2.求其二进制 5 -> 101
    3.求其反码 101 -> 010
    4.加1 011
    所以-5的二进制是 011。如果加上符号位就是1011。

    展开全文
  • 比如:一个十进制的数:10 转为二进制为:0000 1010(八位的) 过程: 咱们倒着排一下,10所对应二进制就是1010 十进制转二进制(负数) 比如:一个十进制的数:-5 转为二进制为:1111 1011(表示8位的-5) 过程:...

    十进制转二进制(正数)

    比如:一个十进制的数:10  转为二进制为:0000 1010(八位的)
    过程:
    


    咱们倒着排一下,10所对应二进制就是1010

    十进制转二进制(负数)

    比如:一个十进制的数:-5 转为二进制为:1111 1011(表示8位的-5)
    过程:
    把5转化为二进制字节形式。得到101,然后补零0000 0101。
    这个时候,原码就出来了:0000 0101
    然后,取反(0的变成1,1的变成0。)
    获取反码(反码是和原码反着来的):1111 1010
    最后进行补码(反码加一叫补码):1111 1011
    补码就是负数在计算机中的二进制表示方法

    二进制转十进制(负数)

    1.先减一,反着 **十进制转二进制(负数)**方法来
    1111 1011 减一之后: 1111 1010
    2.取反
    1111 1010 取反之后:0000 0101
    3.转为十进制之后就是 5了
    在这里插入图片描述

    展开全文
  • 十进制与任意进制的转换

    千次阅读 2018-10-23 18:06:48
    二进制转成十进制 10110110 = 1×27+1×25+1×24+1×22+1×2 = 128+32+16+4+2=182 182 = 1×102+8×101+2×100 = 100 +80 + 2 =182 代码实现 代码实现选择从后向前遍历,将控制台输入的数字以...


    任意进制转为十进制

    方法:i n 系数X基数权值累加

    将二进制转成十进制
    10110110 = 1×27+1×25+1×24+1×22+1×2 = 128+32+16+4+2=182

    182 = 1×102+8×101+2×100 = 100 +80 + 2 =182

    代码实现

    代码实现选择从后向前遍历,将控制台输入的数字以字符串存储

    public class Main {
        public static void main(String []args){
            String input ="10110110";
            char in[]=input.toCharArray();
            double value=0;//十进制数值
            int j=0;//阶数
            double temp;
            for(int i=in.length-1;i>=0;i--){
                //从后向前由小阶数开始进行计算
                temp=Math.pow(2,j++);
                value+=(in[i]-'0')*temp;
            }
            System.out.printf("%2.0f",value);
        }
    }
    

    输出为:182

    十进制转为任意进制

    方法:这个数对基数依次取余,将余数倒序输出,在倒序输出余数之前正序输出最后一次的商。这个方法是很简单的一种方式,可以大大的节省时间

    将十进制转成八进制
    579 / 8 = 72 ...3
    72 / 8 =9 ...0
    9 / 8 =1 ...1

    先输出最后一次计算的商,然后倒序从下到上输出余数
    八进制的 576 为 1103

    代码实现

    //模拟十进制579转成8进制
    
    public class Main {
        public static void main(String []args){
            int B =579;//需转换的数
            int D =8;  //基数
            int temp[]=new int[100];
            int i=0;
            //十进制到任意进制,这个数对基数依次取余,倒序输出,在之前正序输出最后一个商
            while (B/D!=0){
                temp[i]=B%D;
                B=B/D;
                i++;
            }
            System.out.print(B);//输出第一个商
    
            for(int j=i-1;j>=0;j--)
                System.out.print(temp[j]);//倒数输出余数
        }
    }
    

    输出为 1103

    展开全文
  • 进制间之前需要的了解 1.数值间的关系(只需知道二进制和八进制) (1位二进制等于3位八进制) ...假设:233(八进制) 转为二进制 根据以上关系得(不用运算、对照关系表即可): 2 : 010 3 : 011 3...
  • 十六进制转二进制

    2021-01-02 23:08:00
    利用sprintf与sscanf将十六进制转为十进制,在将十进制转为二进制数 #include<stdio.h> #include<string.h> //十进制转二进制 void dtob(int n) { if(n/2!=0){ dtob(n/2); printf("%d",n%2);...
  • 二进制小数与十进制小数的互化

    千次阅读 2010-03-29 13:22:00
    二进制十进制:举例:二进制数11.101转为十进制 1*2^1 + 1*2^0 + 1*2^(-1) + 0*2^(-2) + 1*2^(-3)=2 + 1 + 0.5 + 0 + 0.125 = 3.625(其中2^x表示2的x次方)即11.101(2) = 3.625(10)十进制二进制:举例:十进制...
  • 二进制中有多少个1

    2017-10-21 15:28:45
    计算一个十进制转为二进制后有多少个1(或者0) 样例: 给定32(100000)返回1 给定5(101)返回2 分析 方法一:普通法 public int countOnes1(int num){ int count = 0; while(num!=0){ if(num%2==1...
  • 把一个32-bit整型转成二进制,其中包含多少个1,比如5的二进制表达是101,其中包含2个1 输入为整型(十进制),只需兼容32-bit即可,如5、32 输出为为1的个数 // 进制转为10进制用parseInt(),parseInt(有两个参数,...
  • 进制转换与位运算

    2018-08-31 16:41:08
    1.其他进制转十进制 位上的值*位数-1 相加 101=1*1 + 0*2 + 1*4   2.十进制转其他进制 将该数不断除以该进制,直到商为0,将每步得到的余数倒过来就是...4.其他进制转为二进制 将该进制数转为对应的N位二进...
  • 我们计算机中由十进制转为二进制(以4位为例) 第一位表示正负:正数为0,负数为1 正数如下: 0–>0000 1–>0001 2–>0010 3–>0011 4–>0100 5–>0101 6–>0110 7–>0111 而负数我们一般人...
  • 二进制101.01 转为十进制 1×2^2+0×2^1+1×2^0+0×2^-1+1×2^-2=5.25 规律:个位上的数字的次数是0,十位上的数字的次数是1,......,依奖递增,而十分位的数字的次数是-1,百分位上数字的次数是...
  • 一、二进制转八进制   1、把二进制转为十进制在转换为八进制,当然这种方法太繁琐。   2、采用三位组合法,从右开始...3.八进制转为二进制 反推。例如53,把5与3用三位二进制数表示即可 101 011...
  • 有趣c语言例题之明码

    2018-11-05 12:47:27
    输出时主要是每行输出两个十进制转为二进制的格式输出 负数转二进制用到补码 首先,来个-5,实践出真知嘛。把5转化为二进制字节形式。得到101,然后补零。这个时候,原码就出来了。然后,取反(0的变成1,1的...
  • 先讲一讲进制问题:十进制二进制表示:以10为例, 10的二进制表示为1010 10的三进制表示为101 将一个十进制的x转为k进制 要求把十进制的55转为三进制的表示 短除法如下:  3|55……1  3|18……0  3...
  • 数值和字符串的扩展

    2021-01-03 16:24:46
    十进制转为二进制(使用toSting(),本身是转为字符串的,使用参数可以起到改变进制的效果) const num = 5; console.log(a.toString(2) 二进制转为十进制(使用parseInt(),第一个参数为要转换的数字,可以转为...
  • 一、数字常用类型:int,floatage = 10 # int型salary = 3000.5 # float型进制:二进制:11 = 1*21+ 1*20= 3八进制:11 = 1*81 + 1*80 = 9十进制:11 = 1*101 + 1*100 =...十进制转为二进制:age = 10print(bin(age))...
  • 十进制 转为三进制 1 1 3 10 4 11 9 100 10 101 12 110 13 111 像二进制… 再把它当成二进制转回去… 二进制 十进制 1 1 10 2 11 3 100 4 101 5 110 6 111...
  • 【算法】LeetCode476:数字的补数

    千次阅读 2018-04-02 23:30:28
    随机点了一道题,题目要求: 输入一个十进制数,转化为二进制数 ...二进制101 --&gt;转为反码:010 --&gt;输出十进制:2 就是这么一个题,用编程语言实现,我从两点开始想,想了一下午。...
  • 计算机中运算问题

    2020-06-21 00:44:52
    问题解答 ... 0.625转为二进制小数应该是0,101 (3): 将小数分为符号,尾数,基数,指数4部分进行表现的形式称为什么? 1. 浮点数形式 2. 符号 尾数 X 基数的指数次幂 (4): 二进制数的基数是多少? 1. 2
  • Given a positive integer, output its complement number....输入一个正整数,求其转为二进制之后的每位都取反的值(十进制)。没有符号位。 例如:输入的正整数为5,其二进制为101,取反为010,010转...
  • 关于抑或运算

    2021-01-07 08:51:55
    大致原理是:讲数字转为二进制然后,每个位上进行运算 0^0=0,1^0=1,0^1=1,1^1=0 如 : 9的二进制:1001 5的二进制:101 竖式计算:   9: 1001  5: 0101  抑或结果:12: 1100—>得到二进制数,十进制为12 然后有...
  • c++中对十进制的数的存储在内存上以二进制的方式存储。 移位操作包括无符号的逻辑左移与逻辑右移,以及带符号的算术移位。 逻辑左移: 二进制数m整体向左边移动n位,多余的位数会丢掉,空缺的数将由0补上。 格式:m&...
  • JS基础-3

    2020-10-20 08:44:33
    模拟计算机底层的运算过程,先将值转为二进制然后再运算,运算完再把结果转会成十进制 1 2 3 4 5 6 7 1 10 11 100 101 110 111 & :按位与,上下两位比较都是1,则结果为1,否则为0 console.log(3&5);...
  • 数字类型内置方法 int() 可以使用int()方法将纯数字的字符串转化为十进制的整型 x=int('11.1') #报错 float() 可以使用float()方法将纯数字的字符串转为浮点型数字。...b'101': 二进制编码的字符串 r'\n': ...
  • 它有种形式: 十进制数形式指数形式 1.十进制数形式 由数码0~ 9和小数点组成。例如:0.0,.25,5.789,0.13,5.0,300.,-267.8230等均为合法的实数。 2.指数形式 由十进制数,加阶码标志“e”或“E”以及阶码...
  • 2.6.8 DECIMAL——将给定基数的文本转换为十进制数 116 第3章 日期和时间函数 117 3.1 了解Excel日期系统 118 3.1.1 Excel提供的两种日期系统 118 3.1.2 了解日期和时间序列号 119 3.1.3 输入与设置日期和时间 ...
  • word使用技巧大全

    热门讨论 2011-03-18 20:37:53
    十进制字符与Unicode字符的转换 34 ★巧用“修订”功能帮朋友修改文章 34 ★利用超级链接快速调出指定文档 34 ★利用摘要功能快速显示摘要 35 ★在Word中记录保存时间 35 ★如何将Word2000当字典使用 35 ★如何...
  • 79.十进制二进制 80.检查一个数组是否为空 81.字母栏名转数字栏名 82.数字栏名转文字栏名 83.判断一件活页夹中是否还有子目录 84.判断一个文件是否在使用中 85.列出档案详细摘要信息 86.获取菜单ID编号及名称列表 ...

空空如也

空空如也

1 2
收藏数 32
精华内容 12
关键字:

十进制101转为二进制