石頭JAVA擺地攤兒

          JAVA所有的討論-要一點一點的進步

            BlogJava :: 首頁 ::  :: 聯(lián)系 ::  :: 管理 ::
            30 隨筆 :: 0 文章 :: 11 評論 :: 0 Trackbacks
          由于JAVA里沒有sizeof函數(shù),所以想辦法解決一下。

          感謝CSDN網(wǎng)友:dogod

          import java.io.*;

          public class abc {

              
          public static void main(String[] args) {

                  
          char cr = 1;
                  
          byte be = 1;
                  
          short st = 1;
                  
          int it = -1;
                  
          long lg = 1;
                  
          float ft = 1;
                  
          double de = 1;

                  
          int cnt;
                  
          byte x;
                  
          int cot = 0;
                  
          int byteSize = 0;

                  
          // System.out.println("Float.size: "+Float.SIZE);
                  
          // System.out.println("Double.size: "+Double.SIZE);

                  
          for (cnt = 1; (cr <<= 1!= 0; cnt++)
                      ;
                  System.out.println(
          "char'sBits:" + cnt);

                  
          for (cnt = 1; (be <<= 1!= 0; cnt++)
                      ;
                  System.out.println(
          "byte'sBits:" + cnt);
                  byteSize 
          = cnt;

                  
          for (cnt = 1; (st <<= 1!= 0; cnt++)
                      ;
                  System.out.println(
          "short'sBits:" + cnt);

                  
          for (cnt = 1; (it <<= 1!= 0; cnt++)
                      ;
                  System.out.println(
          "int'sBits:" + cnt);

                  
          for (cnt = 1; (lg <<= 1!= 0; cnt++)
                      ;
                  System.out.println(
          "long'sBits:" + cnt);

                  
          // 用字節(jié)流處理double
                  try {
                      ByteArrayOutputStream buf 
          = new ByteArrayOutputStream();
                      DataOutputStream out 
          = new DataOutputStream(buf);
                      out.writeDouble(de);
                      out.close();
                      DataInputStream in 
          = new DataInputStream(new ByteArrayInputStream(
                              buf.toByteArray()));

                      
          while ((x = (byte) in.readByte()) != -1{

                          
          // System.out.println("byte["+cot+"]:"+x);
                          cot++;
                      }

                      in.close();

                  }
           catch (IOException e) {
                      System.out.println(
          "EOF!!!");
                  }

                  System.out.println(
          "The Double's bit size is :" + cot * byteSize);

                  
          // 用字節(jié)流處理float
                  try {
                      cot 
          = 0;
                      ByteArrayOutputStream buf 
          = new ByteArrayOutputStream();
                      DataOutputStream out 
          = new DataOutputStream(buf);
                      out.writeFloat(ft);
                      out.close();
                      DataInputStream in 
          = new DataInputStream(new ByteArrayInputStream(
                              buf.toByteArray()));

                      
          while ((x = (byte) in.readByte()) != -1{

                          
          // System.out.println("byte["+cot+"]:"+x);
                          cot++;
                      }

                      in.close();

                  }
           catch (IOException e) {
                      System.out.println(
          "EOF!!!");
                  }

                  System.out.println(
          "The Float's bit size is :" + cot * byteSize);

              }


          }

          posted on 2006-03-13 13:33 石頭JAVA擺地攤兒 閱讀(738) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 彭阳县| 辽阳市| 济阳县| 三门县| 钦州市| 弥渡县| 深水埗区| 宜丰县| 竹山县| 普陀区| 洛阳市| 天镇县| 汕尾市| 靖安县| 于田县| 江陵县| 棋牌| 乌苏市| 长兴县| 固阳县| 十堰市| 唐海县| 固镇县| 楚雄市| 家居| 海盐县| 光泽县| 开江县| 万源市| 阿克| 纳雍县| 息烽县| 贵港市| 阳新县| 淮阳县| 上高县| 环江| 赫章县| 东乡县| 曲沃县| 花垣县|