<address id="9d9v3"></address>
        <form id="9d9v3"></form><listing id="9d9v3"><nobr id="9d9v3"><progress id="9d9v3"></progress></nobr></listing>
          <noframes id="9d9v3"><form id="9d9v3"></form>

          <address id="9d9v3"></address>

          <span id="9d9v3"><nobr id="9d9v3"><meter id="9d9v3"></meter></nobr></span>
          <address id="9d9v3"></address>
          <form id="9d9v3"><nobr id="9d9v3"></nobr></form>

          直播帶貨服務

          計算機格式化輸出函數—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
          真正国产乱子伦高清对白