找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 12162|回复: 6

如何在NXTG 2.0下使用整数运算

[复制链接]
发表于 2012-9-24 22:02:15 | 显示全部楼层 |阅读模式
新版Math Block.jpg NXT-G數學運算的過去
4 `  C' A- ?3 Y
9 F. Q$ U# ^+ _7 A% S7 u: Q/ o# \' B1 s2 a  z# C# L% Y
當初NXT-G軟體隨著NXT上市時,數學運算功能只有整數計算功能,變數也只能儲存整數," o) R4 Z( K. P- p: `/ |* p, M
  }2 z3 M! P9 `& J8 ?. `
雖然有玩家提出可以使用固定點運算 ( fixed-point ) 解決問題,
$ l4 w0 N; m0 W, e
0 [+ k# I4 J6 _' j" D但還是讓大家非常不習慣,特別是當除法需要保留小數時。' p9 O. ?% l' Q4 Y
9 L+ H0 \& {; a% _
後來NXT-G軟體推出 2.0版時,就將數學運算及變數改成浮點運算,並且在數學命令方塊中新增『絕對值』及『平方根』功能。
' ?8 H* m) a7 Y+ Y0 P# D% C
, y1 u9 i/ F! \+ K& O  ]這時反倒有一些狀況需要整數運算,但是卻無法使用。& X/ c9 ~. x5 q" K: b

& U& H) ^* h* d* s" O0 `. v& b例如在探奇的大數字顯示功能中,需要分別知道一個數字的百位、十位及個位數字,* h/ G7 U6 [/ m+ a
3 P! E/ z. V  H& z, E
如果有整數運算,那麼236/200=2,馬上就能知道236的百位數字是『2』,* w2 d8 B% E, a7 I' @( R

4 Y7 l) x  d* n5 v5 M4 j3 _" U. r但是浮點運算的結果卻是236/200=2.36,或許可以改用減法來得到答案,不過還是需要比較麻煩的算式。+ ~% A" l. w1 h4 G6 n* I
4 r4 ]2 c5 O7 i" G3 U  ~4 F4 P3 ^

% r' C0 a2 m) J0 q: J, d+ E* C舊版整數數學運算
0 ?9 H% ^1 {( e9 w
2 G, c6 Z1 n: ?6 w: q0 \. T7 d$ J  @1 b5 z) _
其實雖然NXT-G 2.0版以後的數學運算改為浮點數計算,但是軟體內仍然保留舊的整數運算功能,只是沒有顯示在命令面板中。
$ \$ O; {; D5 D) I2 d; Y7 i, }# R" p. \6 L; }
為什麼會保留整數運算的功能呢?探奇認為應該是為了舊版程式的相容性問題。
& G' n+ F4 O4 P5 F5 L$ G! X3 K" k. U, ?! W. }
如果你使用2.0版的軟體,開啟使用舊版軟體所撰寫的rbt程式,就會看到數學運算的命令方塊多出一個驚嘆號。/ G1 X8 ^7 @8 P4 t$ U1 ]# X
* }) ^4 O. z1 \2 j" L/ Q

  z9 c7 ]1 L4 e: `& o
2 p; t& _7 ?1 h2 ]
* e5 u2 H$ x* [2 j1 a剛好前一陣子也有老師提及需要整數運算,探奇在此將增加方式記錄下來。% D/ R! K) D) H

4 v- P8 M; K7 N, R* H7 L( r: j" s新增命令方塊後的命令面板如下:
* Q- x7 @3 |3 [6 X  y9 d5 ~
# b2 o  R1 @$ J
/ L0 O# M6 H3 p& J- ^. f: f
4 {  W/ b! [8 k& W* p, B; K請使用檔案總管開啟NXT-G軟體目錄,( |0 e7 A8 F. p4 e& b$ J. E
) T8 {1 ]! e, C& i- V
C:\Program Files\LEGO Software\LEGO MINDSTORMS Edu NXT\engine\EditorVIs\BlockRegistry
& m/ |/ Z  S( t$ q/ U; z" y: a# T$ z9 S
在這個目錄下新增Data的子目錄,接著新增一個空的文字文件,檔名設為『Numeric Operations.txt』
3 I- S  H7 Q; l" T( B' K' u- x; x# k' D) J, Z0 `9 r
根據Team Hassenplug的說明,你還可以新增其他命令方塊,
4 o, y; E4 Q8 U' L
- @% T( n( `9 B( O6 B3 z& S( O可以新增的命令方塊列表在下面目錄中:
! b) r% e" ?3 f) ^1 y
) K2 q; B5 X4 uC:\Program Files\LEGO Software\LEGO MINDSTORMS Edu NXT\engine\vi.lib\LEGO\Blocks\) T7 `+ c* \1 {& N

1 h2 v/ a" _" o, u) B(我想大部分都是整數型態相關的命令方塊,還有舊版RCX的相容命令方塊)
! n. Y8 _6 l4 Z% O  Q/ E$ C; t) Z! \8 D, g) k

: @7 S6 D8 ]+ o9 _0 W2 h使用測試結果
" D) `3 O$ R: S6 q; k; Y$ C% V/ K/ Z8 |% _6 {- n7 \" ~- f9 p1 n0 |# c6 U
探奇寫了一個程式測試使用結果,- n! g+ K4 R4 P, G* V
  d; S' c+ M% v  ]0 `/ K+ n; @
上半部使用新版的數學運算,100/3=33.333
6 v- Q+ m' L' o' \  C4 ^+ E* t
下半部使用舊版數學運算,100/3=33
6 D7 G$ N2 F* _% f* ]  v8 U( Q/ i* s( w2 ]: ~& e$ y) d

$ q! C( z+ e! ~$ d3 Q* [% K  S
2 C; M7 Q6 [: G/ u% o有整數運算需求的讀友不妨試試。
Math Block.jpg
數學測試程式.jpg
舊版Math Block.jpg
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2012-10-23 13:40:00 | 显示全部楼层
pyruvate 发表于 2012-10-23 13:18
& C" }0 i1 d- }" @  i哈哈,我搞定了
1 K5 m" I+ V* N. Q( T+ U原来是我文件夹名字写错了
+ `+ s: n7 H* R) J: ~  c1 x
data,数据
5 @2 U* t' t( S0 I# ?* N) Zdate,日期
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复 1 0

使用道具 举报

发表于 2012-9-25 22:53:16 | 显示全部楼层
经测试后可用,感谢楼主告知我不知道的方法,原来还是用自己设计的block来解决这一问题。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-9-26 08:59:04 | 显示全部楼层
感谢楼主的好帖,学习了
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-10-22 11:34:52 | 显示全部楼层
糖伯虎 发表于 2012-9-25 22:53
. k/ l6 j, P) C) i2 p9 z( ~经测试后可用,感谢楼主告知我不知道的方法,原来还是用自己设计的block来解决这一问题。
$ |( w, U' D* h4 ?% M$ E
唐大,直接这个目录中增加一个文件夹和一个空白文本文件,打开程序就可以看到原来旧版的计算模块了么?2 q* l' a1 `: r+ M  O

5 c: o1 W5 a8 j% Y! X$ e7 l* _2 r4 O照着做没反应诶
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-10-22 12:28:23 | 显示全部楼层
pyruvate 发表于 2012-10-22 11:34 6 h2 ^) J/ S6 U7 d) P5 ]" z
唐大,直接这个目录中增加一个文件夹和一个空白文本文件,打开程序就可以看到原来旧版的计算模块了么?
+ d) K4 Z- K$ A ...
1 ]1 c' F* [7 G' n* j
是的,文本名字有要对
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-10-23 13:18:21 | 显示全部楼层
糖伯虎 发表于 2012-10-22 12:28
5 G9 x+ p9 c! P6 j3 A2 a! m是的,文本名字有要对
" ?; L* U0 o/ i( [% ^% H# x
哈哈,我搞定了8 }1 ~. Z  U" j3 j8 |* H: s
原来是我文件夹名字写错了: V' ?( q3 |! X  i* i8 s
" \8 q, o! k: }8 s0 e5 S% X: _
Data,我总记得Date......
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2026-3-26 22:33 , Processed in 0.727427 second(s), 22 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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