用C语言编写一个程序,将字符串形式输入的二进制整数转换为对应的十进制数,然后用二分查找法的思想将这
1个回答
关注
展开全部
咨询记录 · 回答于2022-11-09
用C语言编写一个程序,将字符串形式输入的二进制整数转换为对应的十进制数,然后用二分查找法的思想将这个十进制数转换为对应的二进制数并输出。并说明计算机系统执行该程序的过程。(提示:假如需要转换的十进制数是77,则需要在0-127的区间中查找77,查找过程中可以通过对77和区间中间数的比较结果确定对应的二进制数的最高位的值和下一次查找的区间范围,以此类推。) 程序代码和程序执行过程的说明都放入同一个word文档中,该文档作为附件提交。
1)把十进数除以2,记下余数(余数保存在字符串中),现用商除以2,再记下余数,如此循环,直到商为0。2)把保存余数的字符串反过来,就是结果。例如123转化成二进制:123/2=61余161/2=30余130/2=15余015/2=7余17/2=3余13/2=1余11/1=0余1结果是1101111,反过来就是1111011。2、二进制字符串转十进制的思路把二进制字符串从最高位(左边第一位)开始用商乘以2再加余数(该位的数字),如此循环,左边第一位的商肯定是0。例如1111011转化成十进制:0*2+1=11*2+1=33*2+1=77*2+1=1515*2+0=3030*2+1=6161*2+1=123结果是123。