• <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 閱讀(717) 評論(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无码1区2区久久| 91精品免费久久久久久久久| 精品国产91久久久久久久a| 欧美日韩精品久久久免费观看| 一本一道久久a久久精品综合 | 伊人久久大香线焦AV综合影院 | 伊人久久大香线蕉综合Av| 久久久久久九九99精品| 久久久久亚洲?V成人无码| 久久婷婷五月综合色高清 | 国产精品成人99久久久久 | 国产真实乱对白精彩久久| 久久久久久精品久久久久| 91久久精品视频| 久久99精品久久久大学生| 久久免费视频一区| 97精品国产91久久久久久| 久久婷婷五月综合成人D啪| 伊人热人久久中文字幕| 久久精品国产亚洲av麻豆小说| 亚洲а∨天堂久久精品9966| 91超碰碰碰碰久久久久久综合| 色综合久久久久综合体桃花网| 久久久久这里只有精品 | 久久精品综合网| 久久久噜噜噜久久| 66精品综合久久久久久久| 久久夜色精品国产噜噜亚洲AV| 99久久做夜夜爱天天做精品| 久久免费大片| 久久综合久久综合亚洲| 久久久久亚洲AV成人网| 久久国产精品波多野结衣AV| 色综合久久精品中文字幕首页| 2021精品国产综合久久| 久久99热狠狠色精品一区| 夜夜亚洲天天久久| 国内精品伊人久久久久影院对白| 中文字幕久久欲求不满| 国内精品久久久久久不卡影院|