我试着用一个大整数来计算地球的质量,但实际上有些东西并没有加起来。
我用来计算地球质量的公式是:M=ar2/G=5.98×1024kg。a是重力加速度(9.8 m/s平方),r是地球半径((6.4)*(10^6)),Big-G((6.673)*(10^-11))是重力常数。
我应该得到的值是:5.97219×10^24 kg=5972190000000000000000000000000000000000000000000000000,但是我当前输出的值是:-9353。这显然是一个巨大的差异,所以任何帮助都将不胜感激。
这是我到目前为止...
double bigG = (6.673) * (10^-11);
double radiusSquared = 6371^2;
double acceleration = (10^2); (obviously rounded here from 9.8)
double mass = (acceleration*radiusSquared)/bigG;
BigInteger massBig = new BigDecimal(mass).toBigInteger();
System.out.println("mass of earth: "+massBig);'
我不确定我是否只是弄错了一些输入,或者我是否没有认识到Java的一些潜在过程,因为我对Java和物理都不熟悉。
谢谢你
好吧,我照你说的做了,似乎解决了部分问题。。。以下是更新后的代码:
public static void getPlanetMass(){
double bigG = (6.673) * (Math.pow(10, -11));
double radiusSquared = (Math.pow(6371, 2));
double acceleration = (Math.pow(9.8,2)); //(obviously rounded here from 9.8)
double mass = (acceleration*radiusSquared)/bigG;
BigInteger massBig = new BigDecimal(mass).toBigInteger();
System.out.println("mass of earth: "+massBig);
}
当前输出:58417939781807300608正确输出:597360000000000000000000
因此,由于我在这里大约有100万人,我仍然缺少几个数量级,任何精通数学/物理的人都会在这里提供帮助。
我有一个多个圆圈的图像,圆圈内有热点区域,具有高强度(高像素值)和冷点区域(低像素值)。我想用Python中的OpenCV计算每个圆的加权质心。我正在使用这段代码: 好的,这段代码只需获取二值图像,提取所有圆,并找到每个圆的轮廓。 问题是,我需要找到RGB/灰度图像(考虑像素强度)的加权质心,而不是二值图像。我该怎么做? 非常感谢。
问题内容: Java中还有其他方法可以计算整数的幂吗? 我现在使用,但是它返回一个,这通常是很多工作,并且在您只想使用s 时看起来不太干净(那么幂也会总是产生)。 有没有像Python 一样简单的东西? 问题答案: 整数只有32位。这意味着其最大值为。如您所见,对于非常小的数字,您很快就会得到不能再用整数表示的结果。这就是使用的原因。 如果要任意整数精度,请使用。但这当然效率较低。
问题 你想找出月球的相位。 解决方案 以下代码提供了一种计算给出日期的月球相位计算方案: # moonPhase.coffee # Moon-phase calculator # Roger W. Sinnott, Sky & Telescope, June 16, 2006 # http://www.skyandtelescope.com/observing/objects/javascrip
问题内容: 标题基本上说明了一切。我需要使用Python计算地球表面上的多边形内部的面积。计算地球表面上任意多边形所围成的面积虽然可以说明这一点,但在技术细节上仍然含糊不清: 如果要使用更“ GIS”的样式来执行此操作,则需要为您的区域选择一个度量单位,并找到保留该区域的适当投影(并非全部如此)。由于您正在谈论计算任意多边形,因此我将使用类似Lambert Azimuthal等面积投影的方法。将投
问题内容: 我有一张带有捕获用户登录和注销时间的表(他们登录到的应用程序是与MySQL服务器通信的VB)。该表如下例所示: 因此,每次用户登录时,都会在表中添加一个新行,其中包含用户名和时间戳。用于登录的类型为“ 1”。当他们注销时,只有相同的情况是“ 0”。 存在一些轻微的问题,如果用户强制退出该应用程序,则他们似乎永远都不会注销,因为这显然绕过了提交注销查询(类型“ 0”)的过程。但是请忽略这
我必须找到小于或等于给定数字n的素数。我使用埃拉托斯特尼的筛子来寻找素数。 这是我写的代码: 这段代码适用于< code>integer值,但是我必须为< code>long数实现它。而Java不允许创建< code>long大小的数组,所以< code > boolean[]arr = new boolean[n 1];不起作用。有人能建议我解决这个问题的方法吗?