十进制转化为二进制转化,不知道为什么运行不起来,代码如下

十进制小数转化二进制小数,为什么不能像整数那样转化呢?比如说0.125为什么不能转换成0.1111101,而是0.001呢?另外能把十进制小数转化二进制小数的原理说下么?
ovzbyje900
可以像整数那样转化。只不过整数转化是依次除以二后取余数,小数转化是依次乘二后取整数。例如把0.125转化为二进制小数依次乘二0.125x2=0.25,小数点后第一位是0;0.25x2=0.5,小数点后第二位是0;0.5x2=1,小数点后第三位是1;所以0.125转化为二进制小数是0.001。...
(0.125)10=(((101/10+1)/1010)2=(((0.1+10)/10)2=((10.1/10)2=((0.01+1)/1010)2=(1.01/1010)2=(0.001)2
小数部分是乘2取整法 (取乘积的整数部分)
然后正向将取整的数字连起来就是,, 整数部分是除二取余法,(取余数的)然后将余数反向排列起来就是。。最后将整数和小数部分合起来就是最终答案。
十进制中0.1=1/10(10)二进制中0.1=1/10(2)这里的10是二进制的10,换算为十进制为2.所以0.125化为0.1111101就是0.125(10)=1/8(10)=1/1000(2)=0.001(2)
二进制中每一位都有一定的权值,例如8—4—2—1—1/2—1/4—1/8—1/16。0.代表的数字是一个大于0.875的数字,具体不必细算了。但是0.001中1的权值正好是0.125,所以这么写。
为您推荐:
扫描下载二维码&&&&十进制转二进制c++代码
&十进制转二进制c++代码
一个简洁的十进制转换为二进制的C++代码,有循环和非循环两种,使用者自选。
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
Q.为什么我点的下载下不了,但积分却被扣了
A. 由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。
Q.我的积分不多了,如何获取积分?
A. 获得积分,详细见。
完成任务获取积分。
论坛可用分兑换下载积分。
第一次绑定手机,将获得5个C币,C币可。
关注并绑定CSDNID,送10个下载分
下载资源意味着您已经同意遵守以下协议
资源的所有权益归上传用户所有
未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途
CSDN下载频道仅提供交流平台,并不能对任何下载资源负责
下载资源中如有侵权或不适当内容,
本站不保证本站提供的资源的准确性,安全性和完整性,同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
课程资源下载排行
您当前C币:0&&&可兑换 0 下载积分
兑换下载分:&
消耗C币:0&
立即兑换&&
兑换成功你当前的下载分为 。前去下载资源
你下载资源过于频繁,请输入验证码
如何快速获得积分?
你已经下载过该资源,再次下载不需要扣除积分
十进制转二进制c++代码
所需积分:1
剩余积分:0
扫描微信二维码精彩活动、课程更新抢先知
VIP会员,免积分下载
会员到期时间:日
剩余下载次数:1000
十进制转二进制c++代码
剩余次数:&&&&有效期截止到:
你还不是VIP会员VIP会员享免积分 . 专属通道极速下载
VIP下载次数已满VIP会员享免积分 . 专属通道极速下载,请继续开通VIP会员
你的VIP会员已过期VIP会员享免积分 . 专属通道极速下载,请继续开通VIP会员C语言实现十进制转换为二进制代码 - C技巧 - 大学IT网
当前位置: >
> C语言实现十进制转换为二进制代码
关键词:&&阅读(1876) 赞(58)
[摘要]本文是对C语言实现十进制转换为二进制代码的讲解,附上c语言源代码,源码可直接使用,大学IT网整理,与大家分享!
下面是关于十进制转换为二进制的详细代码,由最懂大学生的IT学习网站-大学IT网()整理分享!
/* 代码由大学IT网()整理 */
#include &stdio.h&
#include &stdlib.h&
void main()
int i, j, n,
/*定义变量i,j,n,m*/
int a[16] =
/*定义数组a,元素初始值为0*/
system("cls");
/*输出双引号内普通字符*/
printf("请输入一个十进制数(0~32767):\n");
scanf("%d", &n);
/*输入n的值*/
for (m = 0; m & 15; m++)
/*for循环从0到14,最高为符号位,本题始终为0*/
i = n % 2;
/*取2的余数*/
j = n / 2;
/*取被2整除的结果*/
/*将得到的商赋给变量n*/
/*将余数存入数组a中*/
for (m = 15; m &= 0; m--)
printf("%d", a[m]);
/*for循环,将数组中的16个元素从后往前输出*/
if (m % 4 == 0)
printf(" ");
/*每输出4个元素,输出一个空格*/
printf("\n");
好啦,看完这个由c语言技术实现十进制转换为二进制功能的源代码后是否对实现相关功能更加明白了呢?如果还有不懂的地方可以加我的QQ()联系我哦^_^!
本文由最懂大学生的IT学习网站-整理,转载请注明出处!
相关C技巧推荐

我要回帖

更多关于 十进制转化为二进制 的文章

 

随机推荐