进制转换题目与答案(进制转换支持哪些进制)

不同进制之间的转换方法?

不同进制之间的转换是将一个数字从一种进制表示转换为另一种进制表示的过程。进制转换的方法有直接换算法、乘幂法和除法法。

直接换算法适用于进制之间的换算规则简单的进制转换,如十进制与二进制、八进制或十六进制之间的转换。

乘幂法适用于进制之间的换算规则复杂的进制转换,如十进制与三进制、五进制或七进制之间的转换。

除法法适用于任何进制之间的换算,但计算量较大。

C语言纠错,题目是:将从键盘上输入一个不大于256的十进制正整数转换成对应的八位二进制数输出。

  • (应对输入的整数进行合法性的检查)
  • 入的整数进行合

C语言基础,进制转换问题

  • # includestdio.hint main(void){ int i,j,k; scanf("%d",&i); while(i!=0) {j=i%16; printf("%#X",j); } return 0;}=================while会无限循环,请问哪里出了问题问题补充: 我知道问题在哪了,自己想的太简单了,我重新设计了算法# includestdio.hint main(void){ int i,j,k; scanf("%d",&i); printf("0X"); while(k!=0) {j=i%16; printf("%X",j); k=i16; i=k; } return 0;}结果是倒的,还是不对呢
  • i没有变化一直是不等于0

帮我解决一下进制转换题

  • 1. 将10110011.11B转化为对应的八进制,十进制和十六进制。2.将345D转化为对应的二进制,八进制和十六进制。3. 将167.4Q转化为对应的二进制,十进制和十六进制。4.将4E8.AH转化为对应的二进制,八进制和十进制。5.写出补码计算45-78的过程。
  • 进制转换的问题可以用以下算法, 以10转2为例:#includestdio.hvoid main(){ int s, ne, temp, i; s=5; s为待转换数字 ne=0; temp=1; while(s0) { i=s%2; 2是该进制计数法的基数, n进制的数把2改为n即可 ne=ne+i*temp; ne是转换后的数 s=s2; temp=temp*10; } printf("%d", ne);}这样可以么?

关于二进制函数转换问题,恳请大侠们帮帮小弟!

  • char * itobs(int n,char * ps){ int i; static int size=8 * sizeof(int); for (i=size-1;i=0;i–,n=1) ps[i]=(01&n)+0; ps[size]=0; return ps;}这个转换为二进制,是怎么转换的?int invert_end (int num,int bits){ int mask=0; int bitval=1; while(bits–0) { mask |=bitval; bitval=1; } return num^mask;}这个函数是如何实现反转的?哪位大侠能帮小弟解释解释这两个函数是什么意思?
  • 二进制函数转换问题,恳请大侠们帮

递归算法题:进制转换 (c++)

  • 求解我的代码哪里出错, 如何修改!谢谢!
  • 我运行过了,算法没有问题,存在的唯一问题是main函数中的 i 指针没有赋值就使用了。改下面两句就可以了digui(s, old, base) ;printf("%s", s) ;

请教一道进制转换题

  • 已知英文大写字母D的ASCII码值为44H,那么英文大写字母F的ASCII码为十进制数是多少?进制转换的算法我倒是都会。我想知道44H是几进制?H代表什么?为什么44H转换十进制等于68D?而D又是什么?求解ing~
  • 大写字母F的ASCII码十六进制为46H,十进制为70D。数字后面的字母就表示进制,H为十六进制,D为十进制.

进制的转换问题

  • 八进制转换为二进制要省略最高位和最低位无效的0,为什么无效?有有效的0吗十六进制最高位为字母为什么要在前面加0?一定要加吗?
  • 用任何一种进制来表示数值的时候,在最高有效位(也就是非0的数码)之前无论添加几个0,都不会改变这个数值的大小,同理,在最低有效位(仍然指非0的数码)之后无论添加几个0,也都不会改变这个数值的大小。举个大家比较熟悉的十进制数的例子,12034.506,最高有效位是1,最低有效位是6,那么写成0012034.56000,这个写法并没有改变其数值的大小。因此,当你进行进制转换时,可以将转换完之后的结果中的最高有效位之前的0和最低有效位之后的0都删除。

进制转换输出结果问题

  • int num;前面都省略了int zahl;cout"输入一个数:"endl;cinnum;cout"二进制数:"numendl;cout"十进制数:";for (int i=0;i=15;i++){zahl = num%2;num=num2;coutzahl" ";}问题补充: 输出结果和我需要的结果是反的,请问是啥原因?咋又改呢?
  • 这是用短除法计算十进制数的二进制形式。每次得出模2的余数,然后该数折半取下整。最后要把这些余数倒序输出才得到结果。所以要用数组保存。参考程序:int num;cout"输入一个数:"endl;cinnum;cout"十进制数:"numendl;cout"二进制数:";int a[20];int size = 0;while (num 0) {a[size++] = num % 2;num = 2;}for (int i = size – 1; i = 0; i–) cout a[i] " ";

C++编程 进制转换问题

  • 编写程序,要求实现从键盘上输入    x=10,y=8,z=16 (回车) 能在屏幕上输出 x=10,y=010,z=0x10
  • #include<iostream.h>void Zhuanhuan(int n,int B){ int t; if(!n)  {} else {  Zhuanhuan(n/BB);  t=n%B;  if(t>=0&&t<10)   cout<<t;  else   cout<<(char)(t+55); } return ;}int main(){ int n,B; cout<<"请输入一个十进制数和需要转换的进制,如:10 16,   3 2"<<endl; cin>>n>>B; Zhuanhuan(n,B); return 0;}

c++作业要求八进制和十进制互相转换,但我做完输出结果始终为0,想问一下问题出在哪?

  • #include iostream#includecmathusing namespace std; int main( ) { int a,b,c,d=1; double result1=0,result2=0; cout"输入数字的进制(8代表八进制,10代表十进制)"endl; cina; cout"请输入需转换的数字"endl; cinb; //========================== switch(a) { case 8: do{ c=b%10; result1=result1+c*d; d=d*8; b=b/10; }while(c!=0); break; case 10: do{ c=b%8; result2=result2+c*d; d=d*10; b=b/8; }while(c!=0); break; } //========================== if(result1=0) cout"转换结果为"result2endl; else cout"转换结果为"result1endl; return 0;}
  • 算法有问题,然后result1、2合成1个变量就行了,用int类型。最后直接输出不需要判断,除非你想完整把 “8转10” 或 “10转8” 这样的信息也显示出来,判断相等应该用 == 而不是 =。#include iostream#includecmathusing namespace std;int main(){int a, b, c, d = 1;int result1 = 0; , result2 = 0;cout "输入数字的进制(8代表八进制,10代表十进制)" endl;cin a;cout "请输入需转换的数字" endl;cin b;==========================switch (a){case 8:do {c = b % 10;b = b 10;result1 = result1 + c*d;d = d * 8;} while (b != 0);break;case 10:do {c = b % 8;b = b 8;result1 = result1 + c*d;d = d * 10;} while (b != 0);break;}==========================if (a == 10) cout "转换结果为" result2 endl;elsecout "转换结果为" result1 endl;return 0;}
版权声明