最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

ClassWiz QR功能分析與內(nèi)部數(shù)據(jù)存儲(chǔ)原理

2023-09-02 22:59 作者:fx999CNCW  | 我要投稿

卡西歐在2014年推出ClassWiz系列計(jì)算器,首次在函數(shù)機(jī)上實(shí)現(xiàn)了QR碼(二維碼)顯示,掃描后將跳轉(zhuǎn)到卡西歐的WES網(wǎng)站,在上面可以用導(dǎo)出的數(shù)據(jù)來(lái)繪制函數(shù)圖像、直方圖等圖表,實(shí)現(xiàn)了函數(shù)機(jī)+手機(jī)=圖形機(jī)的創(chuàng)新。

QR功能最初只在ClassWiz旗艦型號(hào)上搭載,后續(xù)被下放到各非旗艦型號(hào),但國(guó)內(nèi)的機(jī)型始終與該功能無(wú)緣。因此,國(guó)內(nèi)對(duì)該功能的分析不是很多,僅在部分ClassWiz評(píng)測(cè)貼有所涉及。本文將嘗試對(duì)該功能及其所編碼的內(nèi)容含義做一個(gè)較為系統(tǒng)的分析和介紹,有不足之處歡迎批評(píng)指正。

QR功能介紹

在正式對(duì)QR編碼數(shù)據(jù)的解析前,先介紹一下ClassWiz QR功能的使用。執(zhí)行相應(yīng)的按鍵操作,如果所處界面是支持生成QR的,則會(huì)在屏幕中央顯示一個(gè)二維碼,否則也不會(huì)有任何報(bào)錯(cuò)提示。

當(dāng)所導(dǎo)出的數(shù)據(jù)過(guò)大時(shí),數(shù)據(jù)會(huì)被“分割”成多個(gè)QR碼,右下角的數(shù)字顯示了當(dāng)前是第幾個(gè)和一共有幾個(gè)QR碼。按下[↓]、[=]、[EXE]或[OK]可以按順序顯示剩余的QR碼,不能按[↑]返回前一個(gè)QR碼,但可以循環(huán)顯示。

QR碼分割是QR碼ISO標(biāo)準(zhǔn)的一部分,在創(chuàng)建分割的QR碼序列時(shí),單個(gè)QR碼除了編碼分割到該部分的數(shù)據(jù)外,還會(huì)編碼該QR碼所在的次序和總數(shù)。我們?nèi)粘J褂玫膾叽a軟件幾乎沒(méi)有適配這種分割QR碼的實(shí)現(xiàn),只會(huì)掃描出單個(gè)QR碼的數(shù)據(jù),這種情況下就要按順序掃碼并手動(dòng)合并數(shù)據(jù)??ㄎ鳉W有專(zhuān)門(mén)的掃碼軟件適配了該標(biāo)準(zhǔn),在掃碼時(shí)也會(huì)有相應(yīng)提示,可直接得到完整的掃碼結(jié)果。

設(shè)置里可以設(shè)置QR碼顯示的“版本”,支持設(shè)置為“版本11”和“版本3”,默認(rèn)是版本11。“版本”是QR碼規(guī)范中的術(shù)語(yǔ),在ClassWiz上,可以理解成版本3的QR碼元更大,也就更容易被掃碼,但單個(gè)QR承載的信息也就越小。故同樣的數(shù)據(jù),使用版本3就需要分割成更多QR碼。然而在QR碼標(biāo)準(zhǔn)中,分割數(shù)據(jù)時(shí)最多只支持分割成16個(gè)QR碼,因此,若數(shù)據(jù)量過(guò)大,版本3的QR碼將無(wú)法顯示,會(huì)提示“不支持版本3”。


在顯示QR碼時(shí),CW I和CW II都支持使用[←][→]鍵調(diào)整對(duì)比度,此處設(shè)置的對(duì)比度值是獨(dú)立于其它界面的,重置計(jì)算器也會(huì)保留。CW II還在右下角增加了可調(diào)整對(duì)比度的提示圖案。

除此之外,QR碼顯示時(shí)按下[5]可以使得QR碼的掩模(Mask)樣式發(fā)生變化,ClassWiz說(shuō)明書(shū)中從未提到這一點(diǎn)。QR碼的實(shí)現(xiàn)規(guī)范中定義了8種不同的掩模圖案,主要是為了防止QR圖樣中出現(xiàn)大片的白色或黑色塊,以提升可讀性。

QR編碼內(nèi)容概述

QR功能介紹完畢,下面看看QR是怎么編碼數(shù)據(jù)的。以一臺(tái)fx-JP900CW在處于模式菜單、光標(biāo)位于“基本計(jì)算”模式時(shí)得到的QR為例,掃碼后得到的結(jié)果為:

http://wes.casio.com/ncal/index.php?q=I-031A+U-000000000000+M-X100000000+S-1A93A

可以看到是一個(gè)鏈接,主機(jī)名是http://wes.casio.com。這是卡西歐的“全球教育服務(wù)網(wǎng)站”(Worldwide Education Service),在2022年以前,是由該網(wǎng)站后端處理編碼后的計(jì)算數(shù)據(jù),并返回顯示。2022年后,卡西歐升級(jí)了該服務(wù),訪(fǎng)問(wèn)該鏈接將302重定向到classpad.net的網(wǎng)站,可在上面使用更豐富的計(jì)算功能。

如果是CW I系列,鏈接中的域名后面接的是/math,而CW II則是/ncal,可能是new calculator的縮寫(xiě)。再后面接的都是/index.php?q=......了,q=后面的內(nèi)容就是導(dǎo)出的計(jì)算數(shù)據(jù)。

數(shù)據(jù)分為多個(gè)部分,每個(gè)部分之間用+號(hào)連接;不同部分的標(biāo)識(shí)符用一個(gè)大寫(xiě)字母表示,標(biāo)識(shí)符和存儲(chǔ)數(shù)據(jù)之間用-號(hào)連接。根據(jù)生成QR時(shí)計(jì)算器所處的狀態(tài),會(huì)有相應(yīng)部分的數(shù)據(jù)所體現(xiàn)。經(jīng)過(guò)分析,對(duì)不同標(biāo)識(shí)符的數(shù)據(jù)初步解釋如下:

下面是對(duì)各部分?jǐn)?shù)據(jù)更詳細(xì)的介紹

I數(shù)據(jù)

I數(shù)據(jù)存儲(chǔ)了該計(jì)算器的內(nèi)部型號(hào),即自檢時(shí)所顯示的代號(hào),以及ROM版本。如243F則表示CY-243 VerF。這里插一個(gè)彩蛋,CW I說(shuō)明書(shū)中有一個(gè)QR碼的示例截圖,掃碼得到的I數(shù)據(jù)是23B-。不同機(jī)型的字符表會(huì)略有不同,例如歐洲型號(hào)的小數(shù)點(diǎn)是逗點(diǎn),反三角函數(shù)用Arc開(kāi)頭來(lái)表示等等,需要得知該機(jī)型的型號(hào)來(lái)確定字符表。

U數(shù)據(jù)

計(jì)算器在工廠(chǎng)刷入ROM的同時(shí)還寫(xiě)入了序列號(hào),長(zhǎng)度12位。據(jù)推測(cè)序列號(hào)存儲(chǔ)了機(jī)器所生產(chǎn)的工廠(chǎng)、流水線(xiàn)等信息,但更具體的編碼規(guī)則尚不明確。

M數(shù)據(jù)

模式代碼(1~4)

當(dāng)處于正常的運(yùn)算界面時(shí),1~2位代表所處的主模式,3~4位為子模式。例如計(jì)算模式無(wú)子模式,則為C100;在統(tǒng)計(jì)模式下的“單變量計(jì)算”子模式,則為0301。

下表列出了沒(méi)有子模式的模式代碼和對(duì)應(yīng)名稱(chēng)。

下面幾個(gè)表給出了各模式代碼和子模式代碼所對(duì)應(yīng)的含義。

基數(shù)模式

統(tǒng)計(jì)模式。其中,部分機(jī)型的“線(xiàn)性回歸”和“二次回歸”采用冪降序而不是冪升序。

正態(tài)分布模式

方程模式,其中子模式08為“Solver 求解方程”,是CW II新增的。

比例雞肋模式

不等式模式。其中,子模式代碼用來(lái)指代多項(xiàng)式方程的次數(shù),不等式的符號(hào)還需要使用M數(shù)據(jù)中的7~8位來(lái)確定。例如M-4B04DD0100就表示ax2+bx+c<0

結(jié)果區(qū)模板(5~6)

M數(shù)據(jù)的5~6位用來(lái)指示結(jié)果區(qū)顯示的模板樣式,例如計(jì)算Rec(r,θ)的結(jié)果有兩部分x=a,y=b,則使用11指代。

其中,13用在SOLVE的求解界面中,對(duì)于求解的目標(biāo)變量,需要用M數(shù)據(jù)的最后2位來(lái)指代,是求解變量字符對(duì)應(yīng)的16進(jìn)制碼。例如若結(jié)果是x=a,L-R=b,是對(duì)x求解,這2位就為48(CW II中為47)。

對(duì)于其他值,默認(rèn)視為復(fù)數(shù)的代數(shù)形式a+bi。即使臨時(shí)轉(zhuǎn)換成極坐標(biāo)形式r∠θ(CW I中使用?r∠θ或者CW II中使用格式菜單轉(zhuǎn)換),也不會(huì)在QR的M數(shù)據(jù)中導(dǎo)出指明。如果設(shè)置了默認(rèn)為極坐標(biāo)格式顯示,則要查看S數(shù)據(jù)。

數(shù)值顯示格式(7~8)

第7位用來(lái)指示結(jié)果區(qū)數(shù)值的顯示格式,第8位指示其存儲(chǔ)在變量中的格式。例如,若7~8為AD,則表示結(jié)果需要顯示為小數(shù),但可以轉(zhuǎn)換成標(biāo)準(zhǔn)結(jié)果顯示。

其中,對(duì)于工程記數(shù)法的顯示,第1次按下[ENG]后,小數(shù)點(diǎn)將嘗試右移,直到×10的指數(shù)是3的倍數(shù),若已經(jīng)是了則不會(huì)移動(dòng)。繼續(xù)按[ENG]則繼續(xù)右移,最多只能右移4次。[SHIFT][ENG]也一樣,只不過(guò)是左移小數(shù)點(diǎn)。CW II中引入了[←][→]鍵移動(dòng)小數(shù)點(diǎn)的功能,原理類(lèi)似。

非計(jì)算畫(huà)面

若是處于報(bào)錯(cuò)界面、模式菜單、設(shè)置菜單生成的QR,則前2位將是對(duì)應(yīng)的報(bào)錯(cuò)或菜單代碼,此時(shí)訪(fǎng)問(wèn)該鏈接將跳轉(zhuǎn)到對(duì)應(yīng)的說(shuō)明書(shū)頁(yè)面。

S數(shù)據(jù)

S數(shù)據(jù)的長(zhǎng)度一般為28個(gè)字符,存儲(chǔ)了計(jì)算器的設(shè)置數(shù)據(jù),如角度單位等。

下表給出了不同位置字符所對(duì)應(yīng)的設(shè)置名稱(chēng),以及不同參數(shù)值所對(duì)應(yīng)的設(shè)置項(xiàng)。

內(nèi)部數(shù)值存儲(chǔ)原理

計(jì)算器內(nèi)部使用類(lèi)似于BCD碼(Binary-Coded Decimal)的方式來(lái)存儲(chǔ)數(shù)值,從ES到CW I系列都是使用了10個(gè)字節(jié)(即20位數(shù))來(lái)存儲(chǔ),CW II由于精度提升用上了14字節(jié)(28位數(shù))來(lái)存儲(chǔ),但兩者存儲(chǔ)的方式并沒(méi)有根本性的變化。

部分從QR中導(dǎo)出的數(shù)據(jù),例如R數(shù)據(jù),也將計(jì)算器內(nèi)部存儲(chǔ)的數(shù)值按16進(jìn)制原樣導(dǎo)出,但格式有所改動(dòng)。

下面先以10字節(jié)20位數(shù)的存儲(chǔ)方式為例,先看看它在計(jì)算器內(nèi)部是怎么存儲(chǔ)的,再說(shuō)說(shuō)它和導(dǎo)出數(shù)據(jù)的異同。

當(dāng)數(shù)值為0時(shí),此時(shí)20位數(shù)全部是0。

若不為0,以1.23456789112345%5Ctimes10%5E%7B67%7D為例,該數(shù)值在計(jì)算器內(nèi)部將存儲(chǔ)成如下形式:

浮點(diǎn)數(shù)格式

浮點(diǎn)數(shù)格式的標(biāo)志位(區(qū)域①)為0。計(jì)算器在存儲(chǔ)一個(gè)數(shù)值時(shí),會(huì)把它截取15位有效數(shù)字,并寫(xiě)成科學(xué)計(jì)數(shù)法的形式,且整數(shù)部分只有1位,將其存儲(chǔ)到區(qū)域②。若科學(xué)計(jì)數(shù)法的指數(shù)>0,則區(qū)域③直接存儲(chǔ)該指數(shù),此時(shí)若數(shù)值本身>0,則區(qū)域④取01,否則取06;若科學(xué)計(jì)數(shù)法的指數(shù)<0,則用區(qū)域③的是指數(shù)的反碼,即100-|指數(shù)|的值,此時(shí)若數(shù)值本身>0,則區(qū)域④取00,否則取05。

下面舉幾個(gè)例子方便理解

分?jǐn)?shù)格式

分?jǐn)?shù)格式的標(biāo)志位為2。存儲(chǔ)分?jǐn)?shù)時(shí),若該分?jǐn)?shù)的絕對(duì)值<1,則將分?jǐn)?shù)線(xiàn)用A表示,按照 分子A分母 的形式存儲(chǔ)到區(qū)域②中,不足15位后面用0補(bǔ)齊。若分?jǐn)?shù)的絕對(duì)值>1,則需要化為帶分?jǐn)?shù),然后存儲(chǔ)為 整數(shù)A分子A分母 的形式,同樣用0補(bǔ)足15位,這實(shí)質(zhì)和分?jǐn)?shù)的線(xiàn)性輸入表示一樣。區(qū)域③為該分?jǐn)?shù)的“長(zhǎng)度”,具體下面舉例說(shuō)明。區(qū)域④為分?jǐn)?shù)的符號(hào),若為正數(shù)則取01,負(fù)數(shù)取06。


正常情況下,分?jǐn)?shù)的長(zhǎng)度不能超過(guò)10,若運(yùn)算超了就會(huì)被轉(zhuǎn)換成浮點(diǎn)數(shù)存儲(chǔ),且無(wú)法化回去。這也是為什么一些看似沒(méi)有超過(guò)計(jì)算范圍的分?jǐn)?shù),依然被用小數(shù)來(lái)表示了,很有可能是因?yàn)樵摂?shù)用假分?jǐn)?shù)表示長(zhǎng)度沒(méi)有大于10,但是用帶分?jǐn)?shù)表示長(zhǎng)度卻超過(guò)了10。如果通過(guò)異?;蛘呤褂脙?nèi)存修改器修改模擬器中對(duì)應(yīng)變量的值,還是能夠顯示出來(lái)的。

度分秒格式

度分秒格式的標(biāo)志位為4。

此時(shí)它采用和浮點(diǎn)數(shù)一樣的存儲(chǔ)方式,只不過(guò)計(jì)算器在顯示時(shí)默認(rèn)將其轉(zhuǎn)換成度分秒格式顯示。

根式格式

根式格式的標(biāo)志位為8。計(jì)算器最多可以表示2個(gè)不同的根式相加,可稱(chēng)之為根式1和根式2。每個(gè)根式下最多3位數(shù),根式的系數(shù)為分?jǐn)?shù),分子分母最多2位數(shù),兩個(gè)分母可以不同,在顯示時(shí)會(huì)通分顯示。


ERROR值

錯(cuò)誤值的標(biāo)志位為F。正常情況下是不會(huì)在變量中存儲(chǔ)ERROR值的,要制造一個(gè)ERROR值,ES PLUS中有TABLE法,而在CW I中可以先打出下面這個(gè)式子,然后按下[CALC][=][=],M會(huì)亮起,[AC]。查看M的值已為空,直接調(diào)用M得到數(shù)學(xué)錯(cuò)誤。查看內(nèi)存,M所在內(nèi)存區(qū)域變成了F3開(kāi)頭,而在前面所介紹對(duì)M數(shù)據(jù)的解析中,Y3對(duì)應(yīng)的剛好是數(shù)學(xué)錯(cuò)誤。


若在數(shù)據(jù)表格模式下,輸入=÷,會(huì)制造一個(gè)語(yǔ)法錯(cuò)誤的單元格,使用QR導(dǎo)出后,該單元格對(duì)應(yīng)的數(shù)值存儲(chǔ)(后文會(huì)講如何查看)是F2開(kāi)頭,剛好M數(shù)據(jù)中的Y2對(duì)應(yīng)的就是語(yǔ)法錯(cuò)誤。

也就是說(shuō),盡管F開(kāi)頭的都是ERROR值,但也是有分類(lèi)的。

其它

實(shí)際上,內(nèi)部存儲(chǔ)還會(huì)有標(biāo)志位為6的數(shù)據(jù),它相當(dāng)于一個(gè)指針,指向矩陣或向量。由于QR是直接原樣導(dǎo)出了矩陣存儲(chǔ)的數(shù)值,此處不展開(kāi)敘述。

CW II的數(shù)值表示

CW II提升精度到23位,使用14字節(jié)28位來(lái)存儲(chǔ)浮點(diǎn)數(shù),但表示方式?jīng)]有根本性變化,最后4位數(shù)同樣是用來(lái)存儲(chǔ)區(qū)域③和區(qū)域④。浮點(diǎn)數(shù)格式需占滿(mǎn)中間的23位區(qū)域②,其余的數(shù)值格式則用0補(bǔ)齊。

R數(shù)據(jù)

內(nèi)部數(shù)值的存儲(chǔ)原理介紹完畢,下面看看QR功能是如何導(dǎo)出這些數(shù)值的。

與內(nèi)部存儲(chǔ)的方式不同的是,QR導(dǎo)出的R數(shù)據(jù)會(huì)將區(qū)域③和區(qū)域④的位置對(duì)調(diào)

計(jì)算、復(fù)數(shù)模式

當(dāng)R數(shù)據(jù)是在普通計(jì)算結(jié)果畫(huà)面導(dǎo)出的,需要將其分成兩部分處理,每部分20位數(shù),剛好對(duì)應(yīng)內(nèi)部存儲(chǔ)方式的20位。

如果計(jì)算結(jié)果比較“簡(jiǎn)單”,例如一些數(shù)值運(yùn)算結(jié)果,此時(shí)R數(shù)據(jù)的第二部分均為0,只有第一部分(前20位)是有用的,可按照上面所述的存儲(chǔ)方式進(jìn)行解析(需要將區(qū)域③和區(qū)域④的位置對(duì)調(diào))。

若計(jì)算結(jié)果比較“復(fù)雜”,計(jì)算器采用了兩部分來(lái)顯示,例如Pol、Rec坐標(biāo)運(yùn)算,÷R求余運(yùn)算,復(fù)數(shù)模式下的虛數(shù)結(jié)果等,此時(shí)需要解析R數(shù)據(jù)的兩部分,并根據(jù)M數(shù)據(jù)中相應(yīng)的參數(shù),確定兩個(gè)數(shù)值的顯示方式。

除了普通計(jì)算,在涉及方程、不等式、矩陣、向量等含有多個(gè)結(jié)果的計(jì)算時(shí),R數(shù)據(jù)的開(kāi)頭會(huì)有此數(shù)據(jù)的存儲(chǔ)標(biāo)志,后面接數(shù)值部分,每部分也為20位,具體要根據(jù)M數(shù)據(jù)和R數(shù)據(jù)開(kāi)頭的存儲(chǔ)標(biāo)志決定各部分?jǐn)?shù)值對(duì)應(yīng)的結(jié)果。

方程模式

EQ表示是方程模式下的結(jié)果,EQ0表示方程有解。若是EQ1則是“無(wú)數(shù)解”(Infinite Solution);EQ2則是“無(wú)解”(No Solution);EQ4為“無(wú)實(shí)根”(No Real Roots);若是在求一元三次方程時(shí)能夠求其對(duì)應(yīng)函數(shù)的極大極小值的機(jī)型,會(huì)以EQ5開(kāi)頭,若不支持則也為EQ0開(kāi)頭。

矩陣、向量

若在矩陣模式下,計(jì)算結(jié)果為矩陣

%5Cbegin%7Bbmatrix%7D0%261.41421356237309%261.23456789112345%5Ctimes10%5E%7B67%7D%5C%5C-4.56987123%5Ctimes10%5E%7B-6%7D%26%5Cfrac%7B1%7D%7B7%7D%26-%5Cfrac%7B8%7D%7B9%7D%5Cend%7Bbmatrix%7D

R數(shù)據(jù)將會(huì)得到


開(kāi)頭的M表示Matrix,即矩陣;MT就表示MatAns。2和3表示該矩陣是2×3的大小。后面的數(shù)值為該矩陣從左至右、從上到下的各數(shù)值。

類(lèi)似的,若為向量(Vector)結(jié)果,則為VT開(kāi)頭,即VctAns,但二、三維向量會(huì)使用VT02、VT03,而不是VT12、VT13。

不等式

在不等式模式下,也有類(lèi)似的表達(dá)方式:


此時(shí)R數(shù)據(jù)以INxx開(kāi)頭,后面按照對(duì)應(yīng)的abcd的順序接各數(shù)值。

驗(yàn)證模式

驗(yàn)證模式下的R數(shù)據(jù)只有20位,代表一個(gè)值,“真”(True)為1,“假”(False)為0。

Q數(shù)據(jù)

Q數(shù)據(jù)是CW II新增的,格式也與R數(shù)據(jù)類(lèi)似,由兩部分組成,每部分28位,區(qū)域③和區(qū)域④的位置也要對(duì)調(diào)。


Q數(shù)據(jù)僅在普通計(jì)算下會(huì)導(dǎo)出,方程、矩陣等模式下的多結(jié)果仍導(dǎo)出在R數(shù)據(jù)中。(鑒定為卡西歐懶狗程序員)

C數(shù)據(jù)

C數(shù)據(jù)的存儲(chǔ)格式和R數(shù)據(jù)類(lèi)似,同樣是每部分20位,區(qū)域③和區(qū)域④的位置對(duì)調(diào)

在處于矩陣、向量模式時(shí),任何運(yùn)算產(chǎn)生的QR碼都會(huì)攜帶C數(shù)據(jù),它包含了已定義的矩陣或向量信息。與R數(shù)據(jù)類(lèi)似,若開(kāi)頭是MA23就代表MatA,大小是2×3;VA03就是VctA,三維向量。

在處于方程、不等式模式時(shí),C數(shù)據(jù)代表了輸入的方程系數(shù)。此時(shí)開(kāi)頭沒(méi)有標(biāo)志,根據(jù)M數(shù)據(jù)確定方程或不等式的類(lèi)型,以確定系數(shù)的個(gè)數(shù)。

P數(shù)據(jù)

在函數(shù)表格模式時(shí)生成的QR碼會(huì)攜帶該數(shù)據(jù),表示生成數(shù)表的開(kāi)始值、結(jié)束值和步長(zhǎng)。數(shù)據(jù)由三部分組成,每部分9位數(shù),表示方法和R數(shù)據(jù)的20位數(shù)類(lèi)似,但它均視為浮點(diǎn)數(shù),故去掉了開(kāi)頭的標(biāo)識(shí)符,有效數(shù)字只有6位,區(qū)域③和區(qū)域④的位置同樣對(duì)調(diào)了,并且區(qū)域④只保留了后半位(0,1,5或6)。

V數(shù)據(jù)

在函數(shù)表格模式下,若定義的f(x)或g(x)表達(dá)式中含有變量,生成的QR就會(huì)攜帶該數(shù)據(jù)。

格式和P數(shù)據(jù)類(lèi)似,長(zhǎng)度也為9位,有效數(shù)字只有6位。CW I中該數(shù)據(jù)存儲(chǔ)的依次是ABCDEFyM的值,若是CW II則最后一個(gè)是z變量的值。

T數(shù)據(jù)

數(shù)據(jù)表格模式

與之前矩陣等模式下會(huì)按順序?qū)С鏊袛?shù)值不同,數(shù)據(jù)表格導(dǎo)出的QR碼只攜帶了寫(xiě)入有數(shù)據(jù)單元格的值,這是通過(guò)編碼了單元格的寫(xiě)入情況實(shí)現(xiàn)的。

數(shù)據(jù)表格的T數(shù)據(jù)以SP開(kāi)頭,隨后接60位的單元格標(biāo)識(shí)符數(shù)據(jù),用以標(biāo)識(shí)哪一個(gè)單元格是有值的。該標(biāo)識(shí)符數(shù)據(jù)采用了2進(jìn)制轉(zhuǎn)16進(jìn)制的方式來(lái)壓縮,順序是先列后行。

例如,若A列的第1,3,4行有數(shù)據(jù),從上至下,寫(xiě)入了數(shù)值用1表示,沒(méi)有寫(xiě)入用0表示,此時(shí)得到1011_%7B(2)%7D,即B_%7B(16)%7D,于是得到T數(shù)據(jù)的前3位為SPB。以此類(lèi)推,得到剩余單元格的數(shù)值寫(xiě)入情況,并轉(zhuǎn)換成16進(jìn)制表示。

由于每一列有45行數(shù)據(jù),計(jì)算器使用了12個(gè)字符來(lái)完整表示一列(第45行單元格的寫(xiě)入數(shù)據(jù)與否,將使得最后一個(gè)字符要么是0000_%7B(2)%7D%3D0_%7B(16)%7D,要么是1000_%7B(2)%7D%3D8_%7B(16)%7D)。一共有5列單元格,因此使用了60個(gè)字符作為單元格的標(biāo)識(shí)。這60個(gè)字符后面接的,就是已寫(xiě)入數(shù)據(jù)的單元格的數(shù)值了。

也就是說(shuō),將SP后面的60個(gè)字符按每12個(gè)分割,將其轉(zhuǎn)換為2進(jìn)制,不足48位的在前面補(bǔ)上0,然后去掉最后3位,得到的45個(gè)數(shù)字就依次代表了每一列45個(gè)單元格的數(shù)據(jù)寫(xiě)入情況

在數(shù)據(jù)表格模式下是不能導(dǎo)出公式的,導(dǎo)出的數(shù)據(jù)只有數(shù)值,格式與P數(shù)據(jù)類(lèi)似,有效數(shù)字也只有6位。如果公式產(chǎn)生了ERROR,則導(dǎo)出的對(duì)應(yīng)單元格的數(shù)據(jù)為Fx開(kāi)頭,對(duì)應(yīng)各自的ERROR類(lèi)型。

統(tǒng)計(jì)、分布、數(shù)學(xué)盒模式

在這些模式下,導(dǎo)出的是統(tǒng)計(jì)列表里的數(shù)據(jù),數(shù)值格式也類(lèi)似P數(shù)據(jù),有效數(shù)字只有6位,理應(yīng)占用9個(gè)字符。

但此時(shí)的T數(shù)據(jù)采用了壓縮存儲(chǔ),將9字符按照每3個(gè)分割,視為10進(jìn)制數(shù),然后轉(zhuǎn)換為32進(jìn)制,這樣它的位數(shù)就減少到了2位,一個(gè)數(shù)值的占用就從原先的9個(gè)字符減少到6個(gè)。

例如,1.23456%5Ctimes10%5E%7B78%7D寫(xiě)成P數(shù)據(jù)的格式將是 123456178,而

123_%7B(10)%7D%3D3R_%7B(32)%7D%0A%5C%5C%0A456_%7B(10)%7D%3DE8_%7B(32)%7D%0A%0A%5C%5C%20%0A178_%7B(10)%7D%3D5I_%7B(32)%7D

則該數(shù)值將被表示為 3RE85I

反過(guò)來(lái),將編碼后的T數(shù)據(jù)每2位分割,視為32進(jìn)制數(shù),轉(zhuǎn)換為10進(jìn)制數(shù),再依次拼接,即可得到了原始的數(shù)值存儲(chǔ)格式。

數(shù)據(jù)的導(dǎo)出順序是先行后列,需要根據(jù)M數(shù)據(jù)確定列的個(gè)數(shù)(x列、y列和頻數(shù))。

表達(dá)式字符原理

在輸入表達(dá)式時(shí),每一個(gè)字符在計(jì)算器內(nèi)部都有對(duì)應(yīng)的存儲(chǔ)方式,它們的映射關(guān)系就是我們熟知的“一級(jí)字符表”。ClassWiz系列開(kāi)始引入了雙字節(jié)字符,一般高位FA、FB、FD、FE,低位01-EF的部分取值才是有意義的字符。因此每個(gè)字符占用1個(gè)或2個(gè)字節(jié)來(lái)存儲(chǔ)。

若是線(xiàn)性輸入的格式,只需將各16進(jìn)制字符在字符表中查找并替換,即可轉(zhuǎn)換為可讀的字符。但在數(shù)學(xué)輸入的情況下,還要對(duì)自然書(shū)寫(xiě)模板做特殊處理。

目前ClassWiz已有的自然書(shū)寫(xiě)符號(hào)模板有14種,其中循環(huán)小數(shù)依據(jù)不同地區(qū)的習(xí)慣做了調(diào)整,有3種表示方法。


上表模板符號(hào)中的XX、YY、ZZ依次對(duì)應(yīng)源碼的相應(yīng)位置,可以嵌套。源碼中1A、1B和1D、1E可以看做成對(duì)的括號(hào)();1C則類(lèi)似于逗號(hào),或者說(shuō)),(;1F比較特殊,只與帶分?jǐn)?shù)的18配合使用。

算法命令存儲(chǔ)原理

在算法模式中,使用的是高位為F9的字符來(lái)存儲(chǔ)命令。

TI-Planet上整理了一份fx-92+ Spéciale Collège所使用的字符與對(duì)應(yīng)命令的映射:

命令中可以編輯的區(qū)域,存儲(chǔ)的是原樣輸入的表達(dá)式,并使用00來(lái)作為單條命令中數(shù)據(jù)輸入的終止符。

命令數(shù)據(jù)并不存儲(chǔ)在輸入?yún)^(qū)域(第一緩沖區(qū)),而是在內(nèi)存區(qū)域相對(duì)靠后的一塊地方。

E數(shù)據(jù)、G數(shù)據(jù)

在算法以外的模式時(shí),導(dǎo)出的E數(shù)據(jù)就是當(dāng)前的輸入?yún)^(qū)字符的16進(jìn)制,原樣導(dǎo)出,沒(méi)有變化。

在算法模式時(shí),則是將命令的源碼原樣導(dǎo)出在E數(shù)據(jù)中。

G數(shù)據(jù)則是在函數(shù)表格模式時(shí),導(dǎo)出的g(x)的表達(dá)式。

參考資料

  1. 【991+無(wú)聊教程】使Ans=2/0,開(kāi)機(jī)可保留 & 原理. https://tieba.baidu.com/p/1899977141

  2. 【技術(shù)】?jī)?nèi)部數(shù)值存儲(chǔ)研究. https://tieba.baidu.com/p/2793407170

  3. 【ClassWiz聯(lián)測(cè)】卡西歐旗艦型號(hào)991CNX/JP900/991DEX/991SPX對(duì)比. https://tieba.baidu.com/p/3894270548

  4. Classwiz/fx-92+SC tokens encoding. https://tiplanet.org/forum/viewtopic.php?f=27&t=21662



ClassWiz QR功能分析與內(nèi)部數(shù)據(jù)存儲(chǔ)原理的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
乌什县| 迁西县| 福建省| 交口县| 武胜县| 昭觉县| 临汾市| 黄龙县| 烟台市| 高唐县| 黎川县| 靖安县| 安化县| 金阳县| 阿图什市| 东兴市| 威信县| 白银市| 保靖县| 东乡族自治县| 钦州市| 如皋市| 新邵县| 白银市| 比如县| 深水埗区| 宁陕县| 富裕县| 霍林郭勒市| 新化县| 平凉市| 始兴县| 萝北县| 成都市| 略阳县| 冕宁县| 莫力| 双江| 临夏市| 眉山市| 颍上县|