Fortran Coder

标题: FOTRANR如何将十进制变成二进制 [打印本页]

作者: xiaomelody    时间: 2015-1-21 01:46
标题: FOTRANR如何将十进制变成二进制
本帖最后由 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


作者: vvt    时间: 2015-1-21 06:45
你这些东西真的跟二进制有关吗?看不懂啊....

write( * , '(b)' ) 45678

就可以了
作者: xiaomelody    时间: 2015-1-21 18:58
vvt 发表于 2015-1-21 06:45
你这些东西真的跟二进制有关吗?看不懂啊....

write( * , '(b)' ) 45678

有关的,重新发了一次题目,求大神在帮忙看一下
作者: vvt    时间: 2015-1-22 22:00
对不起,能力有限,完全看不懂。

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

作者: xiaomelody    时间: 2015-1-23 04:29
vvt 发表于 2015-1-22 22:00
对不起,能力有限,完全看不懂。

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

也谢谢了。可能是我解释的不好吧。




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2