A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ffuujian 中级黑马   /  2015-4-6 23:24  /  1131 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

小数是不能位运算吗?
我的思路是用<<n,表示2的n次幂
第一张图,貌似是提示左边是double,右边是int,
第二张图,把右边改成double,还是报错,
第三张图,把代码中值都换成int,同时放大100倍,成功。
题目是,我国最高山峰是珠穆朗玛峰,8848米。现在我有一张足够大的纸,它的厚度是0.01米。
                  请问,我折叠多少次,可以折成珠穆朗玛峰的高度。

6 个回复

倒序浏览
  1. class Num
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 double n=0;
  6.                 double high=0.01;
  7.                 while (high < 8848.00)
  8.                 {
  9.                         n++;
  10.                         high=0.01<<n;
  11.                 }
  12.                 System.out.println("需要折叠"+n+"次");
  13.         }
  14. }
复制代码
回复 使用道具 举报
  1. class Num
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int n=0;
  6.                 int high=1;
  7.                 while (high < 884800)
  8.                 {
  9.                         n++;
  10.                         high=1<<n;
  11.                 }
  12.                 System.out.println("需要折叠"+n+"次");
  13.         }
  14. }
复制代码
回复 使用道具 举报
  1. public class Shift {

  2.         public static void main(String[] args) {
  3.                 //以cm计珠峰高度
  4.                 final int everest=884800;
  5.                 //纸厚
  6.                 int paperThickness=1,
  7.                                 //折叠次数
  8.                                 count = 0;
  9.                 while(true){
  10.                         if(paperThickness>=everest){
  11.                                 break;
  12.                         }
  13.                         paperThickness= paperThickness<<1;
  14.                         count+=1;
  15.                 }
  16.                
  17.                 System.out.println("需要折叠"+count+"次才能达到珠峰高度");
  18.         }

  19. }
复制代码
回复 使用道具 举报
浮点类型是不能位移运算的

回复 使用道具 举报
看来我涉猎的不够啊,竟然从没想过这个问题
回复 使用道具 举报
sisel 发表于 2015-4-6 23:41
浮点类型是不能位移运算的

谢了 刚百度了下,java不支持浮点型,只能对整数型和字符型
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马