石頭JAVA擺地攤兒

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

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

          感謝CSDN網友: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);

                  
          // 用字節流處理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);

                  
          // 用字節流處理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擺地攤兒 閱讀(741) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 台北县| 贵港市| 柘城县| 连云港市| 珠海市| 从江县| 广平县| 桐乡市| 贵阳市| 南投县| 林西县| 常州市| 黄骅市| 宜昌市| 永定县| 金门县| 托克托县| 曲阜市| 永安市| 乌兰察布市| 柘城县| 河曲县| 伊吾县| 长岛县| 武邑县| 金平| 云梦县| 开鲁县| 安化县| 巩留县| 临沂市| 拉萨市| 汤原县| 凌云县| 泾源县| 永泰县| 青岛市| 桑植县| 旺苍县| 边坝县| 黑龙江省|