扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
使用词法分析可以简单的进行转换,不过问题是接口,java使用的库类和函数,c并不一定拥有,而且java运行的方式不同(java可以说是解释器的脚本,而c最终变成指令集),并不是简单给出一个函数调用位置就可以解决的,目前的话可以实现个转化器(如果学过编译原理),但前提是不使用接口,或许我们可以像编译器对string类型的支持那样实现所有java的库操作,但这显然是鸡肋,因为这种方法写的java程序转换后是很难移植的(显然我是说硬件厂商不会为你天真的想法提供接口),并且对c风格来说是一种极大的破坏,最后生成的代码既没有效率也没有可移植性和可读性。
创新互联建站长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为长宁企业提供专业的成都网站制作、做网站,长宁网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。
你可以考虑下用JAVASCRIPT来完成该功能,下面这个函数你可以看下
script
var EARTH_RADIUS = 6378137.0; //单位M
var PI = Math.PI;
function getRad(d){
return d*PI/180.0;
}
/**
* caculate the great circle distance
* @param {Object} lat1
* @param {Object} lng1
* @param {Object} lat2
* @param {Object} lng2
*/
function getGreatCircleDistance(lat1,lng1,lat2,lng2){
var radLat1 = getRad(lat1);
var radLat2 = getRad(lat2);
var a = radLat1 - radLat2;
var b = getRad(lng1) - getRad(lng2);
var s = 2*Math.asin(Math.sqrt(Math.pow(Math.sin(a/2),2) + Math.cos(radLat1)*Math.cos(radLat2)*Math.pow(Math.sin(b/2),2)));
s = s*EARTH_RADIUS;
s = Math.round(s*10000)/10000.0;
return s;
}
//举例:
alert(getGreatCircleDistance(39.95676, 116.401394,36.63014,114.499574)); //返回值单位是米
/script
可以的 最简单的方式 用Mips的交叉编译工具 mips-gcc 或者g++ 编译C/C++文件, 编译选项加上-S 这样-o指定的输出文件 就是汇编代码。 比如 mips-gcc a.c -S -o a.S 生成的a.S 就是a.c对应的汇编代码了。
1.如果你是想将java工程,你可以选用IDE工具,如Eclipse,Jbulid等,程序只有一运行,就可以编译成class啦(前提是带安装jdk和wtk);
2.或者如一楼说的写个批处理,调用一下jdk里javac编译一下
js 不应该负责加密解码,
应该只负责传递数据,可以传递加密前的,也可以传递加密后的
加密解码的工作都应该放在服务端来处理
首先,需要将科学计数法转换成一下:
例如:
BigDecimal bd = new BigDecimal("3.40256010353E11");
然后转换成字符串:
String str = bd.toPlainString();
如果这个数字的长度是在int的范围内的话,是可以转换成int类型:
int a = Integer.parsInt(str);
如果这个数字的长度不是在Int范围内的话,得到的就不是你想要的数字了!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流