Chinaunix

标题: linux或ANSI C 中有没有直接输出二进制的函数 [打印本页]

作者: davidyin    时间: 2004-11-06 11:09
标题: linux或ANSI C 中有没有直接输出二进制的函数
比如A=1;输出就是00000001,请大家指点一下
作者: twen345    时间: 2004-11-06 17:03
标题: linux或ANSI C 中有没有直接输出二进制的函数
不太明白你的意思,你是不是想将十进制数以二进制形式(也就是‘0’、‘1’组成的字符串的形式)输出呀?而不是真的想做数值之间的进制转换。
作者: gvim    时间: 2004-11-06 19:05
标题: linux或ANSI C 中有没有直接输出二进制的函数
sscanf,%x
作者: win_hate    时间: 2004-11-06 20:10
标题: linux或ANSI C 中有没有直接输出二进制的函数
没有,但可以自己实现一个
作者: 衍水狂客    时间: 2004-11-06 22:37
标题: linux或ANSI C 中有没有直接输出二进制的函数
如果做一个这样的程序会很有意思!

进制之间的互相转换的程序!
作者: gaussanderson    时间: 2004-11-07 14:13
标题: linux或ANSI C 中有没有直接输出二进制的函数

  1. #include <stdio.h>;
  2. #include <stdlib.h>;
  3. int main(){
  4.         int dec,decc;
  5.         int n=0;
  6.         char *bin;
  7.         printf("Input the number:");
  8.         scanf("%d",&dec);
  9.         decc=dec;
  10.         if(dec<0) putchar('-');
  11.         while(decc!=0){
  12.                 n++;
  13.                 decc/=2;
  14.         }
  15.         bin=(char *)malloc(++n);
  16.         bin[--n]='\0';
  17.         while(dec!=0){
  18.                 if(dec%2==0){
  19.                         bin[--n]='0';
  20.                 }
  21.                 else{
  22.                         bin[--n]='1';
  23.                 }
  24.                 dec/=2;
  25.         }
  26.         printf("%s\n",bin);
  27.         free(bin);
  28.         return 0;
  29. }

复制代码

[/code]

16499115440e8f62a1c909.gif (7.73 KB, 下载次数: 73)

16499115440e8f62a1c909.gif





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2