• <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++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            打印出double類型在內(nèi)存中的每個位

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

            printf沒有打印二進制。

            自己寫了一個,先轉(zhuǎn)成16進制,再轉(zhuǎn)成二進制。

            也可以先轉(zhuǎn)成8進制,再轉(zhuǎn)成二進制。

            我測試環(huán)境double是8個字節(jié),64位長度。

            */

            /*打印出double在內(nèi)存的中的每一個二進制位
            */
            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);  
                 /*對每一位,將十六進制轉(zhuǎn)換為二進制的字符串*/
                 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久久国产综合精品五月天喷水 | 一本久久免费视频| 国产成人综合久久精品尤物| 国产成人AV综合久久| 思思久久99热只有频精品66| 无码人妻少妇久久中文字幕蜜桃| 99久久国产主播综合精品| 久久久久高潮综合影院| 亚洲伊人久久大香线蕉苏妲己| 欧美日韩精品久久久免费观看| 天天躁日日躁狠狠久久| 久久精品国产精品亜洲毛片| 国产成人精品综合久久久| 国产福利电影一区二区三区久久久久成人精品综合 | 婷婷久久香蕉五月综合加勒比| 久久综合久久久| 午夜精品久久久久久毛片| 久久青青国产| 亚洲一区中文字幕久久| 色88久久久久高潮综合影院| 精品人妻伦九区久久AAA片69 | 久久久艹| 成人精品一区二区久久| 99久久精品国产一区二区 | 91精品国产高清久久久久久91| 一本久久a久久精品vr综合| 久久青青草原亚洲av无码| 99久久国产亚洲高清观看2024| AV狠狠色丁香婷婷综合久久| 亚洲人成无码网站久久99热国产| 色综合久久综精品| 青青青国产成人久久111网站| 久久精品人人槡人妻人人玩AV| 久久久久高潮综合影院| 久久中文字幕人妻丝袜| 亚洲成av人片不卡无码久久 | 亚洲国产婷婷香蕉久久久久久| 久久久久无码精品| 久久99精品久久久久久水蜜桃| 久久综合丁香激情久久| 精品久久人人做人人爽综合 |