考虑下面的例子,以了解如何在C编程语言中将十进制小数转换为二进制小数。
例子1 – 将25转换为二进制。
步骤1 – 25 / 2 余数:1,商:12
步骤2 – 12 / 2 余数:0,商:6
步骤3 – 6 / 2 余数:0,商:3
步骤4 – 3 / 2 余数:1,商:1
步骤5 – 1 / 2 余数:1,商:0
因此,等价的二进制数是:11001
例子2 – 将0.7转换为二进制。
步骤1 – 0.7 * 2 = 1.4,整数部分 = 1
步骤2 – 0.4 * 2 = 0.8,整数部分 = 0
步骤3 – 0.8 * 2 = 1.6,整数部分 = 1
步骤4 – 0.6 * 2 = 1.2,整数部分 = 1
步骤5 – 0.2 * 2 = 0.4,整数部分 = 0
步骤6 – 0.4 * 2 = 0.8,整数部分 = 0
因此,等价的二进制数是:0.101100
步骤3 – 最后,十进制数25.7的二进制值如下:
11001 + 0.101100 = 1101.101100
登录后复制
示例
以下是将十进制小数转换为二进制小数的C程序:
实时演示
#includeint main(){ long double fraDecimal,fraBinary,bFractional = 0.0,dFractional,fraFactor=0.1; long int dIntegral,bIntegral=0; long int intFactor=1,remainder,temp,i; printf("Enter any fractional decimal number: "); scanf("%Lf",&fraDecimal); dIntegral = fraDecimal; dFractional = fraDecimal - dIntegral; while(dIntegral!=0){ remainder=dIntegral%2; bIntegral=bIntegral+remainder*intFactor; dIntegral=dIntegral/2; intFactor=intFactor*10; } for(i=1;i输出
当执行上述程序时,会产生以下结果 -
Enter any fractional decimal number: 5.7Equivalent binary value: 101.101100登录后复制
以上就是将以下内容翻译为中文:C程序将十进制小数转换为二进制小数的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2582535.html