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

            国产亚洲色婷婷久久99精品91| 精品一区二区久久| 久久久综合香蕉尹人综合网| 欧美久久久久久精选9999| 久久精品成人免费国产片小草| 久久这里只有精品视频99| 亚洲国产精品无码久久| 国产伊人久久| 久久综合给合久久狠狠狠97色| 久久精品无码一区二区三区| 亚洲а∨天堂久久精品| 久久99精品国产99久久6男男| 色婷婷久久久SWAG精品| 久久九九亚洲精品| 久久亚洲精品无码aⅴ大香| 久久er热视频在这里精品| 久久久这里有精品| 一本大道加勒比久久综合| 亚洲精品无码久久久久去q| 久久免费香蕉视频| 91久久精品电影| 国产精品久久自在自线观看| 久久精品国产亚洲av麻豆图片 | 亚洲欧美精品伊人久久| 久久久久亚洲精品日久生情| 久久人人爽人人澡人人高潮AV| 99久久人妻无码精品系列| 日韩精品久久久久久免费| 久久成人小视频| 久久人人爽人人爽人人片AV麻豆 | 国产国产成人久久精品| 国产精品国色综合久久| 综合人妻久久一区二区精品| 狠狠色丁香久久婷婷综合_中| 久久精品亚洲乱码伦伦中文| 激情五月综合综合久久69| 久久这里只精品国产99热| 久久免费视频网站| 国产农村妇女毛片精品久久| 久久本道久久综合伊人| 无码8090精品久久一区|