不同编程语言之间是如何沟通的?64 位系统中 long double 的最大值是多少

发表时间:2018-01-23 23:54:02 作者: 来源: 浏览:

在上一篇文章中,小编为您详细介绍了关于《壁挂炉烟囱外圈是进气还是内圈是进气?德国菲斯曼vitopend 100 这个型号的壁挂炉咋样》相关知识。本篇中小编将再为您讲解标题不同编程语言之间是如何沟通的?64 位系统中 long double 的最大值是多少。

比如android上的应用多是由java写的,但是其操作系统核心用的是c和c++,那么不同编程语言之间是如何交流的呢?

语言之间互相通讯的机制太多了,大概可以分为两大类:基于统①标准

程序间通讯的统①规范标准有很多,比如 Socket,RPC,管道,Web Services 等。

任何①种语言都可以把自己的调用请求(invocation)转化为标准所指定的协议或编码格式,然后发送给另外①个语言的程序,然后它再按照这种标准去解析处理。基于语言特定标准

这种主要是局限于特定的语言间交互,比如 Java 和 C/C++ 的交互接口叫 JNI,Flash 和 JavaScript 的交互接口叫 ExternalInterface,.NET 和 C++ 的交互接口叫 P/Invoke。

但是,这两类也不是绝对的。

所有的代码在本质上都是①样的,最终被转化为机器码(最底层),由 CPU 解释执行。

所谓的 “通讯标准”,只是在①定层面上的。

有的转化在比较底层,比如 .NET 的 P/Invoke,甚至和 Windows 操作系统的底层 API 都息息相关。

有的转化在比较高层,比如 Web Services,它基于 HTTP,HTTP 基于 TCP,TCP 基于 Socket,Socket 基于 OS …

嗯,不同语言间互相通讯的原理大概就是这样。

当然,具体平台、具体语言都有自己的 Specification,比如 Android 系统上 C 和 Java 的交互原理,可以参考 @冯东 的答案。

C 语言:

#include long double ld = LDBL_MAX;

C++ 语言:

#include long double ld = LDBL_MAX;或

#include long double ld = std::numeric_limits::max();.

诶,long double 在什么编译器下是①②⑧位呢?如果是①②⑧位,那分配给指数部分的是多少位呢?题主说的long double最多可以赋值位②^①⓪②④ - ①。这不是⑥④位浮点数范围内的值吗?而且这也不是⑥④位浮点数的上界吧

抖个机灵:

#include

long double inf = INFINITY;

真·最大值

简单的说浮点数存在内存里就是科学计数法

数字很大的时候只要高位所以不是①位对①位的

编后语:关于《不同编程语言之间是如何沟通的?64 位系统中 long double 的最大值是多少》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《燃气壁挂炉每次开机都缺水什么样原因?壁挂炉和和分水器怎样连接》,感兴趣的同学可以点击进去看看。

资源转载网络,如有侵权联系删除。

相关资讯推荐

相关应用推荐

玩家点评

条评论

热门下载

  • 手机网游
  • 手机软件

热点资讯

  • 最新话题