找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 11819|回复: 6

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

[复制链接]
发表于 2012-9-24 22:02:15 | 显示全部楼层 |阅读模式
新版Math Block.jpg NXT-G數學運算的過去
8 q% y5 R$ W. `; e- ?" R1 Q% U+ y
  K/ ?0 t$ _0 M8 _0 Z' j0 U; u* o! M, c$ p) j
當初NXT-G軟體隨著NXT上市時,數學運算功能只有整數計算功能,變數也只能儲存整數,) Z  X4 C7 B  v- b% U3 e; E
, O0 O9 d% y  f% V+ l  p6 |
雖然有玩家提出可以使用固定點運算 ( fixed-point ) 解決問題,
& T' T) ~' X/ F: Q- V# r
; |/ X7 T0 N- O& U5 D, @但還是讓大家非常不習慣,特別是當除法需要保留小數時。
* m# j- S1 r4 Z# A8 [6 X+ r5 D8 y& x  L- i- M1 I
後來NXT-G軟體推出 2.0版時,就將數學運算及變數改成浮點運算,並且在數學命令方塊中新增『絕對值』及『平方根』功能。7 v1 ?7 w  j+ M8 N: o! g/ f, ~

$ R- h# @8 \% V  }  h# x這時反倒有一些狀況需要整數運算,但是卻無法使用。
2 J; ]+ l2 Q: Q6 I0 W2 K7 \
) q, ^4 W$ U. e例如在探奇的大數字顯示功能中,需要分別知道一個數字的百位、十位及個位數字,! f; g, r7 w: m3 W
6 T4 {1 a$ e- O7 A! R( J- s% j) j! j8 K2 E
如果有整數運算,那麼236/200=2,馬上就能知道236的百位數字是『2』,5 |7 j; Z  @7 C2 {5 @

* f  c& S; _1 M; l' z5 ^但是浮點運算的結果卻是236/200=2.36,或許可以改用減法來得到答案,不過還是需要比較麻煩的算式。
! n% A2 B0 r# J! h2 T. X) b$ [* k6 O* y! P/ `+ o( y" R
* A% s/ u( z0 k8 l, _$ f
舊版整數數學運算  M, C# _" p. O6 q. v5 W
) C+ c4 N$ y% s% O0 E9 F/ V9 t
/ Y6 O) ]0 Y, V
其實雖然NXT-G 2.0版以後的數學運算改為浮點數計算,但是軟體內仍然保留舊的整數運算功能,只是沒有顯示在命令面板中。
, s) H% d1 k0 \+ {7 N2 @# j( ~% O! j  ]+ w9 t
為什麼會保留整數運算的功能呢?探奇認為應該是為了舊版程式的相容性問題。
% R5 {& h3 `  U
- u7 u( Z$ f" |; g如果你使用2.0版的軟體,開啟使用舊版軟體所撰寫的rbt程式,就會看到數學運算的命令方塊多出一個驚嘆號。
+ y+ D8 L- T3 q
! \4 ?1 ]) r" ~$ M& {9 ^* N$ u' {( Q2 x: T" R3 a, y
% Y1 j& p7 J" I# @& a9 }/ i
: e9 Q# D! O) [  s$ L5 t, M) N9 ^7 p
剛好前一陣子也有老師提及需要整數運算,探奇在此將增加方式記錄下來。+ k! t& N! E- V5 q$ x4 K# T8 D4 q

. M, I. D  n- r6 U% V新增命令方塊後的命令面板如下:1 {$ ]  \+ @" A* Y) h/ E
/ l9 e' C' X4 n" X- Y7 k+ q

+ i$ a  q0 C* @! t4 j; _1 T6 B7 u) Z2 @- [; s
請使用檔案總管開啟NXT-G軟體目錄,
8 l* G# a& R% K$ V/ h1 j
2 h- J) |* Y, tC:\Program Files\LEGO Software\LEGO MINDSTORMS Edu NXT\engine\EditorVIs\BlockRegistry
- I* `( t, x6 T1 Z2 \% b# a2 r$ S* |5 i! q$ W4 T2 D! B$ ~. U( z
在這個目錄下新增Data的子目錄,接著新增一個空的文字文件,檔名設為『Numeric Operations.txt』$ R* O6 k( h& U. \  S
) X' |6 x% R( y
根據Team Hassenplug的說明,你還可以新增其他命令方塊,
6 F4 v) b' O% r: k$ Q- Z8 j% J0 e/ f& m; j6 ?* v7 Z4 M
可以新增的命令方塊列表在下面目錄中:. g* h. j% `. }& p

# i( i2 u% n  K0 ~& ]C:\Program Files\LEGO Software\LEGO MINDSTORMS Edu NXT\engine\vi.lib\LEGO\Blocks\2 ~4 l* ?/ [4 s! o* q
. Y- a3 j5 J: T. p1 t
(我想大部分都是整數型態相關的命令方塊,還有舊版RCX的相容命令方塊)
' B3 f! L; _  A4 x
' a% B! X0 k5 c6 l& G) k9 T! d, s( k. s# J/ X
使用測試結果
/ j& I# B% X9 V0 j2 L/ d5 C  g- _; r" b
探奇寫了一個程式測試使用結果,. U" R8 }( Q5 d  W. |0 I% Q) ^7 i
( V4 b+ a" G% C8 q* B. s
上半部使用新版的數學運算,100/3=33.333. z4 O) F) h+ k+ G
& W$ Q/ \' q4 C1 a% B# c
下半部使用舊版數學運算,100/3=33$ R+ |5 h' A) q$ G" e

6 u8 B6 }5 M: B9 r, b7 j & `$ Y8 l% W2 x8 y# f

; M* p0 A" d$ H$ B& J0 C有整數運算需求的讀友不妨試試。
Math Block.jpg
數學測試程式.jpg
舊版Math Block.jpg
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2012-10-23 13:40:00 | 显示全部楼层
pyruvate 发表于 2012-10-23 13:18
/ r' g" F/ k. z9 g6 E& r哈哈,我搞定了
; V! {! J# _4 }# C- x- b; M3 _原来是我文件夹名字写错了
5 H& R* z. H0 B0 M
data,数据5 a9 C* Q7 j3 e1 N+ @7 B
date,日期
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复 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
7 i; N7 [- t7 S( x经测试后可用,感谢楼主告知我不知道的方法,原来还是用自己设计的block来解决这一问题。
+ E6 G/ a  H. P7 b; n5 V6 a2 Z
唐大,直接这个目录中增加一个文件夹和一个空白文本文件,打开程序就可以看到原来旧版的计算模块了么?8 o& N$ p$ w  K
6 b1 N- m  E/ g2 G" y7 W# l
照着做没反应诶
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-10-22 12:28:23 | 显示全部楼层
pyruvate 发表于 2012-10-22 11:34
* v6 {' [9 K! |) w唐大,直接这个目录中增加一个文件夹和一个空白文本文件,打开程序就可以看到原来旧版的计算模块了么?
, F2 m" q7 z3 Z# H ...
3 d& R2 O1 T: K' z
是的,文本名字有要对
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-10-23 13:18:21 | 显示全部楼层
糖伯虎 发表于 2012-10-22 12:28
9 M% o# G6 T6 W% A是的,文本名字有要对

$ `; T6 L# _3 Z2 ^( |6 h, Z, D哈哈,我搞定了
0 V5 p! B8 W. Q4 H) K9 D原来是我文件夹名字写错了' d/ g  E, `4 c5 d& X. M) f) S0 I; t3 c  y

" u5 D( J& C; A/ ~( gData,我总记得Date......
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-26 07:11 , Processed in 0.612467 second(s), 21 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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