找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 11398|回复: 6

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

[复制链接]
发表于 2012-9-24 22:02:15 | 显示全部楼层 |阅读模式
新版Math Block.jpg NXT-G數學運算的過去
9 r% `7 i$ U2 M  J+ b8 w9 q' m+ S1 x. K/ e

4 d0 b+ a7 J- @) C2 a當初NXT-G軟體隨著NXT上市時,數學運算功能只有整數計算功能,變數也只能儲存整數,: F$ Y! R1 m* b8 A% `
4 {) r0 v$ C+ C3 y2 r8 N
雖然有玩家提出可以使用固定點運算 ( fixed-point ) 解決問題,; r, Z+ J, z6 S( T: B

! L! t5 x; t" v- c, B% _但還是讓大家非常不習慣,特別是當除法需要保留小數時。
9 M8 \. a+ r% S/ v2 n2 s5 A4 i$ W, z7 u6 g9 p2 N# i' B
後來NXT-G軟體推出 2.0版時,就將數學運算及變數改成浮點運算,並且在數學命令方塊中新增『絕對值』及『平方根』功能。
5 b! R2 G3 `4 A4 P
, X8 O$ z% @2 [! x% w這時反倒有一些狀況需要整數運算,但是卻無法使用。5 {' z6 \; v& u. I
+ M% e8 H) E* k3 w
例如在探奇的大數字顯示功能中,需要分別知道一個數字的百位、十位及個位數字,
4 P; b9 ?" ]: g) ^6 E) ^# S/ G4 L& m- i! i
如果有整數運算,那麼236/200=2,馬上就能知道236的百位數字是『2』,
0 w1 N. z2 V3 F/ X
8 n2 L6 L' Y$ ^* Y+ _6 c* w但是浮點運算的結果卻是236/200=2.36,或許可以改用減法來得到答案,不過還是需要比較麻煩的算式。
& R& C0 W# F3 L9 ~2 x' A; Z% O" t3 y7 ~0 g: K. N( R4 m  \- \
) Y& C) m2 T7 c
舊版整數數學運算3 d/ q0 E* \7 k7 R" D
* X  `& G" }1 d2 Q- m4 i4 `
# M' ?, J9 a- W! h4 U2 W
其實雖然NXT-G 2.0版以後的數學運算改為浮點數計算,但是軟體內仍然保留舊的整數運算功能,只是沒有顯示在命令面板中。0 \+ l5 H) g7 Z: Q; l

$ [, u2 V' ]( Y% i為什麼會保留整數運算的功能呢?探奇認為應該是為了舊版程式的相容性問題。
2 a. p2 s1 ^  @7 K. o0 @$ m+ o9 C0 ^) [. e+ s6 \
如果你使用2.0版的軟體,開啟使用舊版軟體所撰寫的rbt程式,就會看到數學運算的命令方塊多出一個驚嘆號。
2 B# f! ?8 U, c. _4 B) Z
2 I1 Q* m" P6 R# L" @' G7 G( q( v2 B& @: i5 Q) e0 F1 X. @# [( A
4 _0 a; U9 N) V1 Z$ {" s

! V7 y: U( z% a5 o( q8 d剛好前一陣子也有老師提及需要整數運算,探奇在此將增加方式記錄下來。& U+ f! X2 B8 Y/ y' b" l+ [

4 Y% S# e: P( E/ J新增命令方塊後的命令面板如下:
& B4 B; A+ S+ s3 W9 R) n- k/ |2 b2 w1 s

# c' j5 Y, z, r- N
1 U* F& p4 V6 O9 G4 w: M請使用檔案總管開啟NXT-G軟體目錄,
( g! C/ @! j# R; X7 a0 c# A" y1 r! l+ g" D2 {" g& s! u6 Q/ Q
C:\Program Files\LEGO Software\LEGO MINDSTORMS Edu NXT\engine\EditorVIs\BlockRegistry
6 |5 q8 g  H* L. e1 I( n- i9 ^& g& k5 S" {" S/ |5 o
在這個目錄下新增Data的子目錄,接著新增一個空的文字文件,檔名設為『Numeric Operations.txt』
1 w- g" O. H5 H/ j- b& r# X- j% U) c* s) u& S" ]* V% @
根據Team Hassenplug的說明,你還可以新增其他命令方塊,. Y" [  b. z- S6 e8 O% y
% H1 t, `" a/ u0 _. @+ X
可以新增的命令方塊列表在下面目錄中:/ q6 H0 f: t2 b  C
# ?& O8 [- g4 ?7 T* X& C' d. |
C:\Program Files\LEGO Software\LEGO MINDSTORMS Edu NXT\engine\vi.lib\LEGO\Blocks\
; `" j8 P6 g0 t  n' [% r) P# x+ p( F* w) v9 u
(我想大部分都是整數型態相關的命令方塊,還有舊版RCX的相容命令方塊)0 F! m/ Z) x5 B4 i+ i

- X+ C  N1 Z. A& q+ n+ v6 h/ F7 q8 P1 s- f
使用測試結果! H; A" [; t9 {/ n; Q% }* B8 Z
. E5 C5 k. ?2 f3 k, i/ I" ~$ w
探奇寫了一個程式測試使用結果,
8 s( o4 n9 I6 F* U( R0 ^5 `8 ]. F
上半部使用新版的數學運算,100/3=33.333( H. Q) m6 J7 [" Y5 H* c

5 u4 R( H, C7 u) W3 V  T; J2 ~下半部使用舊版數學運算,100/3=33
" [9 x8 X/ v2 g* |+ p. d# s/ ?" C, E7 x3 V& X

8 S, t7 [) {+ O/ g1 t, ?! Q; I; K4 ^, }9 I" O: H0 V/ K8 ?- j# Z& |4 n4 v
有整數運算需求的讀友不妨試試。
Math Block.jpg
數學測試程式.jpg
舊版Math Block.jpg
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2012-10-23 13:40:00 | 显示全部楼层
pyruvate 发表于 2012-10-23 13:18 9 R( M7 @; {) I7 j
哈哈,我搞定了$ S1 o. k) M$ @: n- D0 ~. s
原来是我文件夹名字写错了
/ D+ C# t3 l5 [3 |
data,数据+ m9 r; K% l$ o# `
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 " L6 b$ @; U/ U. x
经测试后可用,感谢楼主告知我不知道的方法,原来还是用自己设计的block来解决这一问题。
7 `1 k, j8 T: \- s
唐大,直接这个目录中增加一个文件夹和一个空白文本文件,打开程序就可以看到原来旧版的计算模块了么?5 D* t! \3 ?/ |7 n+ T- q
, `7 x( g* M6 K7 q
照着做没反应诶
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-10-22 12:28:23 | 显示全部楼层
pyruvate 发表于 2012-10-22 11:34 * G: A; V( W, Z' M: _. M. e
唐大,直接这个目录中增加一个文件夹和一个空白文本文件,打开程序就可以看到原来旧版的计算模块了么?, T* A) h) z! {  `" k  s5 i: j
...
5 ^. Q! ?  r+ `' s7 Z
是的,文本名字有要对
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-10-23 13:18:21 | 显示全部楼层
糖伯虎 发表于 2012-10-22 12:28
; _% }# g: p1 W  q% P/ t3 w是的,文本名字有要对
& h# h- h5 U8 n
哈哈,我搞定了
  ^# S- O: a8 }- _原来是我文件夹名字写错了
& o7 H& |$ b- S9 u2 a2 c: h2 p6 b( Z" a, V
Data,我总记得Date......
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-24 16:51 , Processed in 0.167989 second(s), 21 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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