• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            打印出double類型在內存中的每個位

            Posted on 2018-11-29 13:50 Prayer 閱讀(726) 評論(0)  編輯 收藏 引用 所屬分類: C/C++LINUX/UNIX/AIX

            printf沒有打印二進制。

            自己寫了一個,先轉成16進制,再轉成二進制。

            也可以先轉成8進制,再轉成二進制。

            我測試環境double是8個字節,64位長度。

            */

            /*打印出double在內存的中的每一個二進制位
            */
            void DoubleToString(double *p_dl){
                   char c_dl_16[16+1];
                   char c_dl_64[64+1];
                   memset(c_dl_64,'\0',sizeof(c_dl_64));
                   unsigned char *t = (unsigned char *)p_dl;
                   int charCount = sizeof(double) ;
                   memset(c_dl_16,'\0',sizeof(c_dl_16));
                   
                   if (t == NULL)
                   return;
                 int i=0;
                 for(i=0;i<charCount;i++){
                    sprintf(c_dl_16+i*2,"%02x",t[i]);
                 }
                 /*printf("\n");  */
                      printf("[%s]\n",c_dl_16);  
                 /*對每一位,將十六進制轉換為二進制的字符串*/
                 char tmpc[4+1];
                 for(int j=0;j<16;j++){
                      memset(tmpc,'\0',sizeof(tmpc));
                   switch(c_dl_16[j]){
                        case '0':
                              memcpy(tmpc,"0000",4);
                              break;
                        case '1':
                              memcpy(tmpc,"0001",4);
                              break;
                        case '2':
                              memcpy(tmpc,"0010",4);
                              break;                                  
                        case '3':
                              memcpy(tmpc,"0011",4);
                              break;  
                        case '4':
                              memcpy(tmpc,"0100",4);
                              break;  
                        case '5':
                              memcpy(tmpc,"0101",4);
                              break;  
                        case '6':
                              memcpy(tmpc,"0110",4);
                              break; 
                        case '7':
                              memcpy(tmpc,"0111",4);
                              break; 
                        case '8':
                              memcpy(tmpc,"1000",4);
                              break; 
                        case '9':
                              memcpy(tmpc,"1001",4);
                              break; 
                        case 'a':
                              memcpy(tmpc,"1010",4);
                              break; 
                        case 'b':
                              memcpy(tmpc,"1011",4);
                              break;
                        case 'c':
                              memcpy(tmpc,"1100",4);
                              break;
                        case 'd':
                              memcpy(tmpc,"1101",4);
                              break;
                        case 'e':
                              memcpy(tmpc,"1110",4);
                              break;
                        case 'f':
                              memcpy(tmpc,"1111",4);
                              break;
                   }
                   sprintf(c_dl_64+j*4,"%s",tmpc);
                 }
                 printf("[%s]\n",c_dl_64);
                 
            }


            使用

                double tmpd=0.01;
                DoubleToString(&tmpd);
                printf("%x\n",0.01);

            色综合久久综合中文综合网| 久久久久亚洲AV无码专区体验| 99热成人精品免费久久| 久久久综合香蕉尹人综合网| 久久精品免费一区二区| 99久久精品国产麻豆| 亚洲国产精品综合久久一线| 久久久久亚洲AV成人片| 久久99久久无码毛片一区二区| 亚洲国产精品无码久久| 激情综合色综合久久综合| 99久久国产热无码精品免费| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区| av色综合久久天堂av色综合在| 久久免费精品视频| 亚洲AV日韩精品久久久久久 | 久久福利资源国产精品999| 国产亚洲欧美精品久久久| 久久这里只有精品首页| 麻豆国内精品久久久久久| 亚洲国产精品热久久| 国产精品久久久久久久| 国产精品久久新婚兰兰| 欧美精品福利视频一区二区三区久久久精品 | 久久亚洲高清综合| 91久久九九无码成人网站| 亚洲国产精品高清久久久| 久久综合亚洲色HEZYO社区| 亚洲精品高清一二区久久| 精品多毛少妇人妻AV免费久久| 久久er国产精品免费观看2| 无码人妻久久久一区二区三区 | 亚洲v国产v天堂a无码久久| 久久99精品久久久久久齐齐| 一本久久久久久久| 久久av免费天堂小草播放| 久久久精品人妻无码专区不卡| 久久亚洲欧美日本精品| 婷婷久久香蕉五月综合加勒比| 伊人久久成人成综合网222| 亚洲国产高清精品线久久|