直播带货服务

计算机格式化输出函数—printf()应用案例

案例描述】

输入一个正整数,输出该整数的二进制形式。

输入:123

输出:123(10)=1111011(2)

计算机格式化输出函数—printf()应用案例

案例分析】

1、利用输出控制符"%x"可以输出正整数的十六进制形式。

2、利用输出控制符"%o"(注意:是字母o,不是零)可以输出正整数的八进制形式。

3、没有输出控制符输出正整数的二进制形式。

4、利用stdlib.h的itoa函数,可以将整数转换为二进制字符串。该函数需要用到字符串处理的相关知识,请参阅7.6部分

5、输出正整数m的形式可以使用以下思路:

(1)v=0x80000000,对应无符号整数的最高位(十六进制形式)

(2)f=0,标记是否已读取m的最高二进制位(用于忽略二进制位的前导0)

(3)如果v与m按位与非零,则执行A、B。否则执行C:

A、f=1,标记已读取m的最高二进制位

B、输出1。转(4)

C、如果f>0,则输出0。转(4)

(4)v按位右移一位

(5)如果v=0,则输出结束。否则转(3)

计算机格式化输出函数—printf()应用案例

【参考代码

main()

{  unsigned long m,v=0x80000000;

   char f=0;

   scanf("%lu",&m);

   printf("%lu(10)=",m);

   while(v)

   {  if(v&m){f=1;printf("1");}

      else if(f!=0)printf("0");

  v>>=1;

   }

   printf("(2)");

 }


© Copyright 六六互联.Some Rights Reserved.www.ic.vip