成语| 古诗大全| 扒知识| 扒知识繁体

当前位置:首页 > 趣味生活

如何将十进制转化为二进制

Q1:十进制怎么转化成二进制

0.110011001100……1100…… 十进制数转换为二进制数的方法:整数部分采用除2取余法、小数部分采用乘2取整法分别转换后组合得到。除2取余法:逐次除以2,每次求得的余数即为二进制数整数部分各位的数码,直到商为0;乘2取整法:逐次乘以2,每次乘积的整数部分即为二进制数小数各位的数码。

Q2:如何把十进制转化为二进制

你以十进制的数除以你所要转换的进制数,把每次除得的余数记在旁边,所得的商数继续除以进制数,直到余数为0时止.例如你要把100转换成八进制: 100/8=12...(余数为4); 12/8=1.....(余数为4); 1/8=0......(余数为1); 然后把相应的余数从低向高顺着写出来,如上的为144,此即为100的八进制表示形式. 十进制转换为十六进制与二进制与前面的转化为八进制相同,如100转换为十六进制: 100/16=6....(余数为4); 6/16=0......(余数为6); 同理则以十六进制表示的100形式为64; 100转换为二进制: 100/2=50....(余数为0); 50/2=25.....(余数为0); 25/2=12.....(余数为1); 12/2=6......(余数为0); 6/2=3.......(余数为0); 3/2=1.......(余数为1); 1/2=0.......(余数为1); 所以100的二进制表示形式为1100100; 要换回来就反着算!

Q3:带有小数的十进制数如何转化为二进制数

小数点之前用模2取余法: 10(D) = 1010(B) 这个就不用给你讲了吧 小数点之后用乘2取整法: 0.5(D) = 0.1(B) 按如下算法进行: 1)首先给小数部分乘2,如果小数点前为1;则计1,为0,则计0。 2)再对剩下的小数部分乘2,再计出1或0。 3)重复以上步骤,直至达到需要的精度。 例如:0.2887转化为二进制数: 0.2887 * 2 = 0.5774 ------------- 计 0 0.5774 * 2 = 1.1548 ------------- 计 1 0.1548 * 2 = 0.3096 ------------- 计 0 0.3096 * 2 = 0.6192 ------------- 计 0 0.6192 * 2 = 1.2384 ------------- 计 1 ………………(算到需要的精度为止) 所以:0.2887(D)=0.01001…(B)

Q4:十进制怎么转换为二进制?

比如10,除以2则商是5 余数是0 再用商5除以2 商是2 余数是1 再用商2除以2 商是1 余数是0 用商1除以2 商是0 余数是1 至此结束把余数从下往上看即使1010,这既是10的二进制数

Q5:二进制数如何转换成十进制数?

就是是第几位就乘以2的几次方 从右往左数 二进制转十进制 从最后一位开始算,依次列为第0、1、2...位 第n位的数(0或1)乘以2的n次方 得到的结果相加就是答案 例如:01101011.转十进制: 第0位:1乘2的0次方=1 1乘2的1次方=2 0乘2的2次方=0 1乘2的3次方=8 0乘2的4次方=0 1乘2的5次方=32 1乘2的6次方=64 0乘2的7次方=0 然后:1+2+0 +8+0+32+64+0=107. 二进制01101011=十进制107

Q6:通过辗转相除来将十进制转为二进制和十六进制 ;以下代码怎么理解?

#include

using namespace std;

int flag=1;

void tran(int n,int d)

{

int mod;

mod=n%d; //求n在d进制下的末位数

n=n/d; //去掉在d进制下n的末位数

if(n) //当n>0时,就递归------------这一行比原来简化了

tran(n,d); //对减少了一位的n继续转换

switch(mod)

{

case 10:cout<<"A";break; //对10~15的余数,输出字母

case 11:cout<<"B";break;

case 12:cout<<"C";break;

case 13:cout<<"D";break;

case 14:cout<<"E";break;

case 15:cout<<"F";break;

default:cout<

}

}

int main()

{

int n,d;

cin>>n>>d; //读取要转换的整数及目标进制值

tran(n,d);

return 0;

}

追问 : 为什么不能把if改成while 还有当执行到if(n) tran(n,d);时 为什么直接执行switch函数,而不是去递归

追答 : 不是直接执行,而是递归返回了。

猜你喜欢

更多