• <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);

            久久国产精品99精品国产987| 91精品国产91久久久久久| 国产精品久久久久久久app | 久久只有这精品99| 久久精品www人人爽人人| 国产精品欧美久久久久无广告 | 国产成人精品久久亚洲高清不卡 | 久久国产成人午夜AV影院| 久久人与动人物a级毛片| 色综合久久久久综合体桃花网| 久久97精品久久久久久久不卡| 久久九九久精品国产免费直播| 国产精品一区二区久久精品涩爱 | 久久影视国产亚洲| 日本人妻丰满熟妇久久久久久| 精品国产婷婷久久久| 久久综合精品国产二区无码| 色99久久久久高潮综合影院| 99久久婷婷免费国产综合精品| 中文精品99久久国产| 国产69精品久久久久99尤物| 嫩草伊人久久精品少妇AV| 久久大香萑太香蕉av| 无码任你躁久久久久久| 99久久无码一区人妻| 久久成人国产精品二三区| 久久天天躁狠狠躁夜夜躁2O2O| 久久久国产亚洲精品| 久久亚洲av无码精品浪潮| 久久国产视屏| 久久久精品人妻无码专区不卡| 国产AV影片久久久久久| 国产精品视频久久久| 久久久久人妻一区精品色 | 久久久久国产亚洲AV麻豆| 婷婷综合久久中文字幕| 久久精品国内一区二区三区| 久久96国产精品久久久| 精品久久久久中文字幕一区| 日韩电影久久久被窝网| 99精品国产免费久久久久久下载 |