Fortran Coder

查看: 10928|回复: 4
打印 上一主题 下一主题

[数值问题] FOTRANR如何将十进制变成二进制

[复制链接]

9

帖子

5

主题

0

精华

入门

F 币
51 元
贡献
29 点
跳转到指定楼层
楼主
发表于 2015-1-21 01:46:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xiaomelody 于 2015-1-21 18:57 编辑

设置常量{U,V,A,B,C}离散函数f(x)的定义函数f(x(1),...,X(n))的 n个二进制变量设X= {X =(X(1)..×(N)),X(ⅰ)}的二进制。
对于x在X,为s= S(X)= SUM(X(1:n))的
如果 0 <= s <= u  : f(x) = SUMA (x(i)*(2*SIN(i*PI/u))/(a+i)**2), i=1..n)
如果 u+1 <= s <= v: f(x) = SUMA (x(i)*(2*COS(i*PI/v))/(b+i)**2), i=1..n)
如果 v+1 <= s <= n: f(x) = SUMA (x(i)*(SIN(i*PI/n)+COS(i*PI/n))/(c+i)**2), i=1..n)
其中,IP是IP数 4*arctg(1)

Esum = SUMA {f(x), x 在 X},
Emax = MAX {f(x), x 在 X},
xmax = arg MAX {f(x), x 在 X}:
Emax=f(xmax)


举例,如果 n = 3,十进制为2**3,需将这个数转换成二进制
需要读取以下,n,u,v,a,b,c中的数据,求 Esum    |    Emax    |         xmax   
================================================================================
   |  n |  u |  v |  a |  b |  c |    Esum    |    Emax    |         xmax         |
   |------------------------------------------|------------|----------------------|
   | 14 |  6 |  8 | 16 | 17 | 18 |            |            |                      |
   |------------------------------------------|------------|----------------------|
   | 15 |  6 | 11 | 18 | 24 | 30 |            |            |                      |
   |------------------------------------------|------------|----------------------|
   | 16 |  4 |  9 | 22 | 23 | 30 |            |            |                      |
   |------------------------------------------|------------|----------------------|
   | 17 |  8 | 12 | 25 | 27 | 29 |            |            |                      |
   |------------------------------------------|------------|----------------------|
   | 14 |  7 |  9 | 22 | 23 | 25 |            |            |                      |
   |------------------------------------------|------------|----------------------|
   | 15 |  7 | 10 | 20 | 21 | 29 |            |            |                      |
   |------------------------------------------|------------|----------------------|
   | 16 |  4 | 10 | 19 | 24 | 26 |            |            |                      |
   |------------------------------------------|------------|----------------------|
   | 17 |  7 | 11 | 21 | 22 | 32 |            |            |                      |
   ================================================================================

datos.txt

145 Bytes, 下载次数: 1

timu.txt

2.24 KB, 下载次数: 0

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
沙发
发表于 2015-1-21 06:45:51 | 只看该作者
你这些东西真的跟二进制有关吗?看不懂啊....

write( * , '(b)' ) 45678

就可以了

9

帖子

5

主题

0

精华

入门

F 币
51 元
贡献
29 点
板凳
 楼主| 发表于 2015-1-21 18:58:12 | 只看该作者
vvt 发表于 2015-1-21 06:45
你这些东西真的跟二进制有关吗?看不懂啊....

write( * , '(b)' ) 45678

有关的,重新发了一次题目,求大神在帮忙看一下

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
地板
发表于 2015-1-22 22:00:30 | 只看该作者
对不起,能力有限,完全看不懂。

转二进制非常简单的一件事情,用 b 格式输出既可。

9

帖子

5

主题

0

精华

入门

F 币
51 元
贡献
29 点
5#
 楼主| 发表于 2015-1-23 04:29:33 | 只看该作者
vvt 发表于 2015-1-22 22:00
对不起,能力有限,完全看不懂。

转二进制非常简单的一件事情,用 b 格式输出既可。

也谢谢了。可能是我解释的不好吧。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-6 17:20

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表