进制变换(0318)

输入一个十进制数,用程序将其变换成2进制数和8进制数。

每一组数据只有一行,即需要被变换的十进制整数。(输入有多组测试数据):3

对应每一组数据,输出对应的2进制和8进制,第一行输出2进制,第二行输出8进制数:11   3

代码:

#include<iostream>
using namespace std;
int main()
{
    int num;//输入变量
    int i=0, j=0;//定义循环变量
    while (cin >> num)
    {
        int a[256], b[256];//存放进制数
        int temp1, temp2;
        int count1 = 0;
        int count2 = 0;
        temp1 = temp2 = num;
        do
        {
            a[count1] = temp1 % 2;
            count1 = count1 + 1;
            temp1 = temp1 / 2;
        } while (temp1 != 0);
        for (i = count1-1; i >=0; i--)
        {
            cout << a[i];
        }
        cout << endl;
        do
        {
            b[count2] = temp2 % 8;
            count2 = count2 + 1;
            temp2 = temp2 / 8;
        } while (temp2 != 0);
        for (i = count2-1; i >= 0 ; i--)
        {
            cout << b[i];
        }
        cout << endl;
    }

    return 0;
}

数组存放

时间: 2024-10-15 16:45:53

进制变换(0318)的相关文章

&lt;swustoj&gt;?id=318 进制变换

链接http://acm.swust.edu.cn/problem/318/ #include <stdio.h> int arr[33]; int main() { int x; int i,j; while(scanf("%d",&x)!=EOF) { int y; y=x; i=j=0; if(x==0) { printf("0\n0\n"); } else { while(x!=0) { arr[i]=x%2; x=x/2; i++; }

原理之一,进制转换

原理之一,进制转换 日常生活中采用个数字都是十进制,而计算机采用的是运算更简单.易实现且可靠,为逻辑设计提供了有力途经的二进制,除此之外还有八进制和十六进制作为二进制的缩写. 进制:逢N进一,N是每种进位计数制表示一位数所需要的符号数目为基数. 二进制:逢二进一,借一当二,包含的数字(0.1) 八进制:逢八进一,借八当一,包含(0.1.2.3.4.5.6.7) 十六进制:逢十六当一,以一当十六,包含(0.1.2.3.4.5.6.7.8.9.10(A).11(B).12(C).13(D).14(E

京东-2017-春招实习-进制均值

尽管是一个CS专业的学生,小B的数学基础很好并对数值计算有着特别的兴趣,喜欢用计算机程序来解决数学问题,现在,她正在玩一个数值变换的游戏.她发现计算机中经常用不同的进制表示一个数,如十进制数123表达为16进制时只包含两位数7.11(B),用八进制表示为三位数1.7.3,按不同进制表达时,各个位数的和也不同,如上述例子中十六进制和八进制中各位数的和分别是18和11,. 小B感兴趣的是,一个数A如果按2到A-1进制表达时,各个位数之和的均值是多少?她希望你能帮她解决这个问题? 所有的计算均基于十进

16进制浮点数

float f1 = 1.234f; System.out.println("1.234>"+Integer.toHexString(Float.floatToIntBits(f1))); float f2 = -1.234f; System.out.println("-1.234>"+Integer.toHexString(Float.floatToIntBits(f2))); 定点数表达法的缺点在于其形式过于僵硬,固定的小数点位置决定了固定位数的整数

蓝桥杯 16进制转换8进制

蓝桥杯 16进制转换8进制 我表示我自己太渣渣了,总是超时,通不过测试. 题目 问题描述 给定n个十六进制正整数,输出它们对应的八进制数.输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行,每行一个由0~9.大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000.输出格式 输出n行,每行为输入对应的八进制正整数.注意 输入的十六进制数不会有前导0,比如012A. 输出的八进制数也不能有前导0.样例输入239123ABC样例输出7144

poj3708:函数式化简+高精度进制转换+同余方程组

题目大意 给定一个函数 找出满足条件   等于 k 的最小的x m,k,d已知 其中 m,k 很大需要使用高精度存储 思路: 对 函数f(m)进行化简 ,令t=ceil( log(d,m) ) 可以得到 f(m)=d ^ t * ( a [ m / (d^t) ] ) + d ^ (t-1) * ( b[ m/( d^(t-1) ) ] )......+b [m%d] : 我们一看,每一项都是 跟 d 的次方有关,所以考虑使用 d 进制进行计算 设     m=a1b1b2b3b4(d进制) 那

加密解密基础问题:字节数组和(16进制)字符串的相互转换(转)

在加密时,一般加密算法和hash算法,它们操作的都是字节数组,对字节数组按照加密算法进行各种变换,运算,得到的结果也是字节数组.而我们一般是要求对字符串进行加密,所以就涉及到字符串String到 byte[] 的转换,这个很简单.同时在解密时,也涉及到字节数组byte[] 到 String 的转换.另外在对用户的密码进行hash加密之后,最终是要保存在数据库中,所以加密得到 byte[] 也要转换到 String. 1. String 到 byte[] 的转换很简单,因为String类有直接的函

【算法题5】求不同进制表示的位数之和的均值

尽管是一个CS专业的学生,小B的数学基础很好并对数值计算有着特别的兴趣,喜欢用计算机程序来解决数学问题,现在,她正在玩一个数值变换的游戏.她发现计算机中经常用不同的进制表示一个数,如十进制数123表达为16进制时只包含两位数7.11(B),用八进制表示为三位数1.7.3,按不同进制表达时,各个位数的和也不同,如上述例子中十六进制和八进制中各位数的和分别是18和11,. 小B感兴趣的是,一个数A如果按2到A-1进制表达时,各个位数之和的均值是多少?她希望你能帮她解决这个问题? 所有的计算均基于十进

华为笔试——C++进制转换

题目:2-62进制转换 题目介绍:输入一个n1 进制的整数(包括负数),将其转换成n2 进制,其中n1 .n2 的范围是 [ 2,62 ] .每个数字的范围是0-9.a-z.A-Z.不用考虑非法输入. 输入: n1 n2 n1 进制整数 输出: n2 进制整数 例: 输入: 8 16 -1352460 输出: -5d530 分析: 这道题目需要考虑几点:负整数的输入:将输入的n1 进制的数转换成10 进制的数,再用长除法将这个10 进制的数转换成 n2 进制的数:a-z和A-Z与其代表的整数的相