tzkr.net
当前位置:首页 >> 如何用C语言把十进制纯小数转换成二进制,八进制,十六进制。求代码?谢谢 >>

如何用C语言把十进制纯小数转换成二进制,八进制,十六进制。求代码?谢谢

#include #include /*该函数可以实现小于整型数据的任意进制之间转换*/ /*以下函数将a进制数s转换成b进制并输出*/ void f(int a,int b,char s[]) { char r[17]; int i,n,t,k; for(n=strlen(s)-1,i=t=0;*(s+i)!='\0';i++,n--) /*这里先转换成十进制数*/ { if(*(s+i)9)r[i]='A'+k-10; else r[i]='0'+k; t/=b; } r[i]='\0'; s=strrev(r); printf("%s",s); }

php的.其实程序都一样,关键是方法.function decto_bin($datalist,$bin){ static $arr=array(0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F'); if(!is_array($datalist)) $datalist=array($datalist); if($bin==10)return $datalist; //相同进制忽略 $bytelen=ceil(16/$bin)

a为十进制小数,x为要转换的进制.供参考.#includevoid main(){ double a; int x,b,i; a=0.875; x=2; i=0; printf("0."); while (a>0 & i 评论0 0 0

因为你用整数1 那么默认的就是int型 而不是double型 第二个参数算出来也就是个int而不是doublepow是个重载函数 会进行类型匹配的如果类型写错了 会调用不同的函数的

两个进制(其中之一为10进制)之间的互转(手工计算方法) 以2,10进制互转为例,其他请举一反三: 二进制数1101转十进制: 1*2的三次幂+1*2的二次幂+0*2的一次幂+1*2的零次幂=8+4+0+1=13 附加一个八进制转十进制的例子吧: 507(

#include <stdio.h> #include <string.h> #include <math.h> /*该函数可以实现小于整型数据的任意进制之间转换*/ /*以下函数将a进制数s转换成b进制并输出*/ void f(int a,int b,char s[]) { char r[17]; int i,n,t,k; for(n=strlen(s)-1,i=t=0;*(s+i)!='\0';i++,n--) /*

#include "stdio.h"#include "stdlib.h" int main() { int L1; printf("输入数字\n"); scanf("%d", &L1); char str1[256]; char str2[256]; char str3[256]; itoa(L1, str1, 2); itoa(L1, str2, 8); itoa(L1, str3, 16); printf("2进制:%s\n8进制:%s\n16进制:%s\n",str1,str2,str3); return 0; }

二进制的1101转化成十进制 1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13 转化成十进制要从右到左用二进制的每个数去乘以2的相应次方 不过次方要从0开始 十进制转二进制: 用2辗转相除至结果为1 将余数和最后的1从下向上倒序写 就是

/** 程序功能:求二进制,十进制,八进制 创建人:蒲宇林 创建日期:2007年8月13日 **/ #include <stdio.h> void two(); void eight(); void sixteen(); /**主函数**/ void main() { int select; do { printf("0 - 退出,1 - 十进制转二进制,2 - 十进制转

小数 十进制转二进制:十进制小数乘以2,整数部分为二进制小数点后第一位,小数部分再乘以2,整数部分为二进制小数点后第二位,以此类推例如:十进制小数0.1875:0.1875*2=0.375 '二进制0.00.375*2=0.75 '二进制0.000.75*2=1.5 '

网站首页 | 网站地图
All rights reserved Powered by www.tzkr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com