找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 11819|回复: 6

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

[复制链接]
发表于 2012-9-24 22:02:15 | 显示全部楼层 |阅读模式
新版Math Block.jpg NXT-G數學運算的過去  y( [; p; ?( s( d

8 X+ l$ i. ^& C9 z; s8 {/ h* J* m: F2 ^( o- I
當初NXT-G軟體隨著NXT上市時,數學運算功能只有整數計算功能,變數也只能儲存整數,
  G: m5 e+ J! s  d: Y+ I2 S! {4 u0 I" K  s( M4 k
雖然有玩家提出可以使用固定點運算 ( fixed-point ) 解決問題,' O1 o4 d0 ?1 [+ r# H% k1 z
. F# L$ c) a3 C* p" E
但還是讓大家非常不習慣,特別是當除法需要保留小數時。9 F/ K# Q# M9 {2 `9 j
/ h! Y9 V' _1 p6 P+ ]
後來NXT-G軟體推出 2.0版時,就將數學運算及變數改成浮點運算,並且在數學命令方塊中新增『絕對值』及『平方根』功能。
1 @9 W; L$ e3 `4 w9 Q
+ r, Z5 x" R! u0 D* p這時反倒有一些狀況需要整數運算,但是卻無法使用。+ B/ V+ e! ^! p( u. v7 M, G) r

+ g, L" h0 F- t例如在探奇的大數字顯示功能中,需要分別知道一個數字的百位、十位及個位數字,
4 _! F, i1 l6 P2 \3 z( i, O7 u0 R7 s/ {+ A; d. B' _
如果有整數運算,那麼236/200=2,馬上就能知道236的百位數字是『2』,
7 w$ C, X3 v  Z9 m" x
) b' ?. i8 V2 A0 f' @但是浮點運算的結果卻是236/200=2.36,或許可以改用減法來得到答案,不過還是需要比較麻煩的算式。
+ X1 {4 u6 d' o( r' W) n/ E- e0 H6 a( q# r

8 ^- g" w7 h9 g7 H9 W. u5 Y. v舊版整數數學運算% F9 H% @, z0 V' R

2 k# k; T# I# Z6 N
: i1 ?1 O2 R7 x8 R8 @3 V: r" U其實雖然NXT-G 2.0版以後的數學運算改為浮點數計算,但是軟體內仍然保留舊的整數運算功能,只是沒有顯示在命令面板中。+ h6 k) o. g1 _- ?+ h% m# t- t
7 \, J. K, l: n% ~4 H5 K
為什麼會保留整數運算的功能呢?探奇認為應該是為了舊版程式的相容性問題。" I  i) M) X$ n- O
$ D: o# D& `8 z% q9 L
如果你使用2.0版的軟體,開啟使用舊版軟體所撰寫的rbt程式,就會看到數學運算的命令方塊多出一個驚嘆號。
  T2 S( q  g# {. g9 i1 \, ^  a
2 B% u& T9 V# e( W4 C9 g0 o6 M: B0 A4 [3 p- ^6 B' R: O

: r/ o6 S$ D( {# |5 @1 c: \; \9 c
5 P3 b+ A8 I( J' o0 k1 g5 t0 \剛好前一陣子也有老師提及需要整數運算,探奇在此將增加方式記錄下來。( A8 v' l8 C5 h" ?4 z5 M

4 }9 K0 Z" S7 v! `6 ^新增命令方塊後的命令面板如下:
$ Z( `( E- C; n" \, [
6 A; B. q3 A# e3 y* `
- {$ q1 o5 i$ E
6 W! H' `9 n  \# |6 v4 l3 v請使用檔案總管開啟NXT-G軟體目錄,
9 R  A. q3 ]- \" g" N  M
9 D; ]7 n' C/ M& SC:\Program Files\LEGO Software\LEGO MINDSTORMS Edu NXT\engine\EditorVIs\BlockRegistry1 e5 M; I8 A& J% C. a
- `* V2 m# C. C- W5 F
在這個目錄下新增Data的子目錄,接著新增一個空的文字文件,檔名設為『Numeric Operations.txt』( n) |: t! [0 ?" g* p5 m7 ~

1 H6 n8 a" x) u4 [  I' _根據Team Hassenplug的說明,你還可以新增其他命令方塊,6 N( r9 x0 T& ^* B  Y" ?% o
2 ]* q# M7 f8 x" R& k% P/ r9 y" S
可以新增的命令方塊列表在下面目錄中:
, |2 K- \% C. A2 ?# }
( K# y. a' y2 Z# M/ K# {% bC:\Program Files\LEGO Software\LEGO MINDSTORMS Edu NXT\engine\vi.lib\LEGO\Blocks\/ e% T1 F; S; z7 I/ P/ G: Q

# S2 U; _  K- x) j+ g4 E* k) P(我想大部分都是整數型態相關的命令方塊,還有舊版RCX的相容命令方塊)" G2 E; Q% T2 M! o; q

) V4 M3 f% v% x/ v8 a) G5 a
; P: e* |9 N0 w& o" _使用測試結果3 P2 m7 ~7 X. o

8 C* [6 a8 b& J/ z探奇寫了一個程式測試使用結果,7 [3 i  _, `4 r3 A. E2 h$ o+ g8 t
+ c( J) W# [. x( ^* b
上半部使用新版的數學運算,100/3=33.333
6 O0 }1 u2 e6 Q* v& \
) J, H' V# v6 X9 J/ m下半部使用舊版數學運算,100/3=33
4 U5 ]- b3 M6 Z' @" e9 F+ J+ |" S% }% P, a" @. x6 n3 m7 v; f
  Y3 W, f5 ]0 M, v: k% s  d& m

% g8 `9 K/ ]+ S$ g1 n( {' b  V有整數運算需求的讀友不妨試試。
Math Block.jpg
數學測試程式.jpg
舊版Math Block.jpg
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2012-10-23 13:40:00 | 显示全部楼层
pyruvate 发表于 2012-10-23 13:18 : Y8 @0 [3 w# G# w
哈哈,我搞定了
! i# |( u; \# |1 x/ [+ I原来是我文件夹名字写错了

( n+ w! h1 F  |7 B# l6 H) N  ]data,数据
) f3 @; S, E  _7 j" @: k- m& ~" O' Adate,日期
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复 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
- d$ T' E0 }7 b; h经测试后可用,感谢楼主告知我不知道的方法,原来还是用自己设计的block来解决这一问题。
( R$ _/ o* a- ]
唐大,直接这个目录中增加一个文件夹和一个空白文本文件,打开程序就可以看到原来旧版的计算模块了么?. L5 y- k( M, S8 \" H
1 S* A' [& V* m% ^
照着做没反应诶
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-10-22 12:28:23 | 显示全部楼层
pyruvate 发表于 2012-10-22 11:34 9 `* f, x# O/ J
唐大,直接这个目录中增加一个文件夹和一个空白文本文件,打开程序就可以看到原来旧版的计算模块了么?
4 X8 h) y/ ^1 \: I5 E4 d. e ...
( a" `- L6 }2 @: h
是的,文本名字有要对
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-10-23 13:18:21 | 显示全部楼层
糖伯虎 发表于 2012-10-22 12:28 2 j1 d; t6 }: K1 A9 V! ]) ^
是的,文本名字有要对
" ]+ O8 |, @* Z) L& ^  a
哈哈,我搞定了& s( X+ ]% a6 X' E6 H* S- g: }) W
原来是我文件夹名字写错了  g7 l2 Q1 J1 z" S( N1 K
% c- z) ]! L) Z! W, h
Data,我总记得Date......
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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