CN110533414A - 一种交通ic卡交易中进制转换的方法 - Google Patents
一种交通ic卡交易中进制转换的方法 Download PDFInfo
- Publication number
- CN110533414A CN110533414A CN201910805540.XA CN201910805540A CN110533414A CN 110533414 A CN110533414 A CN 110533414A CN 201910805540 A CN201910805540 A CN 201910805540A CN 110533414 A CN110533414 A CN 110533414A
- Authority
- CN
- China
- Prior art keywords
- array
- data
- converted
- traffic
- short
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 41
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 52
- 238000013507 mapping Methods 0.000 claims abstract description 29
- 230000009466 transformation Effects 0.000 claims abstract description 19
- 238000009434 installation Methods 0.000 claims abstract description 7
- 238000004590 computer program Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 9
- 238000012546 transfer Methods 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 2
- 239000010931 gold Substances 0.000 description 2
- 229910052737 gold Inorganic materials 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30018—Bit or string instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种交通IC卡交易中进制转换的方法、计算机装置及计算机可读存储介质,包括对数据进行初始化操作;将待转换数组的数据的最低半字节对应查找第一映射列表并执行相关操作得到第一映射数组;执行判断操作,判断循环移位计数器是否已达到最大值,如是,则通过对应查找第二映射列表并执行相关操作得到各元素的映射数值,传递给转换结果数组;如否,则待转换数组的数据向高半个字节的位置方向偏移,对应查找第一映射列表、通过相关操作得到更新映射数组,并返回执行判断操作。本发明还提供实现上述方法的计算机装置及计算机可读存储介质。本发明采用列表映射法进行十六进制向十进制的转换,可更大程度地减少计算,提升转换效率及交易速度。
Description
技术领域
本发明涉及IC卡交易技术领域,具体是涉及一种交通IC卡交易中进制转换的方法。
背景技术
目前,全国各个市实现交通一卡通互联互通是大趋势,交通一卡通互联互通IC卡应用包含电子钱包、电子现金两个应用,交通一卡通互联互通在电子钱包交易流程中交易金额采用十六进制数据,交通一卡通互联互通在电子现金交易流程中交易金额采用十进制数据,为达到电子钱包、电子现金应用交易金额互联互通的目的,在交易流程里涉及交易金额数制的转换方可进行交易。
基于Java卡的交通一卡通互联互通小应用程序(applet)采用Java语言开发,因面向智能卡的Java语言开发并不支持int类型,故使用Java语言开发做的数据转换仅可使用byte、short型变量和数组进行,且电子钱包应用的金额用3字节十六进制数据表示,电子现金应用的金额用6字节十进制数据表示,因此在小应用程序(applet)开发中使用数据转换的乘除法则、移位法则都会存在局限性,且转换效率极低,会降低交易速度,降低持卡人刷卡体验。
为提升转换效率及交易速度,改善持卡人刷卡体验,本技术方案采用列表映射法进行十六进制向十进制的转换,该方法在电子现金交易,即从电子钱包获取十六进制表示的数据金额转换为提供给电子现金应用识别使用的十进制表示的数据金额的转换速度及效率上会有明显提升,从而可以达到提升整个交通一卡通卡片的刷卡交易性能。
发明内容
本发明的第一目的是提供一种交通IC卡交易中进制转换的方法,能够应用于电子现金交易中,并可提升转换效率及交易速度,改善持卡人刷卡体验。
本发明的第二目的是提供一种实现上述交通IC卡交易中进制转换的方法的计算机装置。
本发明的第三目的是提供一种实现上述交通IC卡交易中进制转换的方法的计算机可读存储介质。
为了实现上述发明的第一目的,本发明提供的交通IC卡交易中进制转换的方法包括对数据进行初始化操作;将待转换数组的数据的最低半字节对应查找第一映射列表并执行数组处理操作得到第一映射数组,将第一映射数组缓存在缓存数组缓冲器中,循环移位计数器增1;执行判断操作,判断循环移位计数器是否已达到最大值,如是,将缓存在缓存数组缓冲器的数据的各元素对应查找第二映射列表并执行数值处理操作得到缓存数组缓冲器中的数据的各元素的映射数值,依次传递给转换结果数组;如否,则待转换数组的数据向高半个字节的位置方向偏移,对应查找第一映射列表、执行数组处理操作并与缓存在缓存数组缓冲器中的数据相加得到更新映射数组并缓存在缓存数组缓冲器中,循环移位计数器增1,并返回执行判断操作。
由上述方案可见,本发明采用列表映射法进行十六进制向十进制的数制转换,通过对应查找映射列表、通过数组间转换及数组中元素转换的处理,相比传统移位法,可更大程度地减少繁复的计算,可较大地提升转换效率及交易速度。
进一步的方案是,初始化操作包括将转换结果数组清零,将循环移位计数器的初始值设为0,待转换数组向最低半字节的位置偏移。
由上可见,通过初始化操作可实现转换结果数组、循环移位计数器、待转换数组的初始化。
更进一步的方案是,第一映射列表包括若干分表,每一分表分别对应待转换数组的数据的最低半字节至最高半字节。
更进一步的方案是,分表均包括8组4元素数组,分别对应数据区间为1至8的待转换数组的数据的半字节。
更进一步的方案是,数组处理操作包括判断待转换数组的数据的半字节N是否大于8,如是,则将对应分表中的所述第8组数组与第(N-8)组数组相加;如否,则不作处理。
由上可见,通过对应待转换数组的数据的最低至最高的半字节数目进行第一映射列表中分表的设置,一一对应。分表中区间为1至8的数据的半字节一一对应于8组数组,区间为9至F数据的半字节N则对应于第8组数组与第(N-8)组数组相加。通过对第一映射列表的设计,基于对待转换数组中每半个字节进行对应的数组转换,可实现对待转换数组的有效转换,更大程度地提升了转换效率。
更进一步的方案是,第二映射列表包括100个元素,多个元素分别对应地址为0x0000至0x0063的数据值。
更进一步的方案是,数值处理操作包括判断存储在缓存数组缓冲器的数据的各元素数值是否大于0x0063,如是,则将数值大于0x0063的元素的映射数值向高位字节进位;如否,则不作处理。
更进一步的方案是,转换结果数组将所述映射数值转换成十进制数值并输出。
由上可见,通过第二映射列表的设计,可实现将存储在缓存数组缓冲器的数据的各元素数值对应查找映射,并基于对映射数值的进位判断设计,可实现十六进制向十进制的转换,最终实现十进制数值的输出。
为实现上述的第三目的,本发明提供的计算机装置具有处理器以及存储器,存储器存储有计算机程序,计算机程序被处理器执行时实现上述一种交通IC卡交易中进制转换的方法的各个步骤,或者执行上述一种交通IC卡交易中进制转换的方法的各个步骤。
为实现上述的第四目的,本发明提供计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述一种交通IC卡交易中进制转换的方法的各个步骤,或者执行上述一种交通IC卡交易中进制转换的方法的各个步骤。
附图说明
图1是本发明一种交通IC卡交易中进制转换的方法实施例第一映射列表的结构示意图。
图2是本发明一种交通IC卡交易中进制转换的方法实施例第二映射列表的结构示意图。
图3是本发明一种交通IC卡交易中进制转换的方法实施例的流程图。
以下结合附图及实施例对本发明作进一步说明。
具体实施方式
参见图1,图1是本发明一种交通IC卡交易中进制转换的方法实施例第一映射列表的结构示意图。本实施例中,对应于交通IC卡电子钱包的最大金额为0x00FFFFFF(最高字节0x00可忽略),第一映射列表包括A、B、C、D、E、F共6个分表,每一分表依次对应于待转换数组的数据的最低半字节至最高半字节,每一分表包括8组数组,每组数组包括4个元素。基于Java卡的交通一卡通互联互通小应用程序(applet)采用Java语言开发,因面向智能卡的Java语言开发并不支持int类型,故使用Java语言开发做的数据转换仅可使用byte、short型变量和数组进行,本实施例中,每组数组中的元素均为short型元素。参见图2,图2是本发明一种交通IC卡交易中进制转换的方法实施例第二映射列表的结构示意图。本实施例中,第二映射列表包括100个元素,每个元素均为byte型元素,分别为(byte)0x00至(byte)0x99的数值,分别对应于地址为0x0000至0x0063的数值。
参见图3,结合图1、图2,图3是本发明一种交通IC卡交易中进制转换的方法实施例的流程图。首先,执行步骤S1,对数据进行初始化操作,将转换结果数组清零,将循环移位计数器的初始值设为0,将待转换数组向最低半字节的位置偏移。接着,执行步骤S2,将待转换数组的数据的最低半字节对应查找第一映射列表,具体地,将待转换数组的数据的最低半字节对应查找第一映射列表的分表A。然后,执行步骤S3,判断待转换数组的数据的半字节N是否大于8,如是,则执行步骤S4,将对应分表中的第8组数组与第(N-8)组数组相加,并与缓存在缓存数组缓冲器中的数据相加作为更新映射数组缓存在缓存数组缓冲器中,循环移位计数器增1;如否,则执行步骤S401,将分表A中的第N组数组与缓存在缓存数组缓冲器中的数据相加作为更新映射数组缓存在缓存数组缓冲器中,循环移位计数器增1。具体地,待转换数组的数据的半字节N为0时,循环移位计数器增1,其余不作处理。
接着,执行步骤S5,判断循环移位计数器是否已达到最大值,具体地,本实施例中最大值为6,如否,待转换数组的数据向高半个字节的位置方向偏移,并对应查找第一映射列表,并返回执行步骤S3;如是,则执行步骤S6,将存储在缓存数组缓冲器的数据对应查找第二映射列表。然后,执行步骤S7,判断存储在缓存数组缓冲器的数据的各元素数值是否大于0x0063,具体地,将存储在缓存数组缓冲器的数据的共4个元素进行一一判断,如是,则执行步骤S8,将数值大于0x0063的元素的映射数值向高位字节进位并输出处理后各元素的映射数值至转换结果数组;如否,则执行步骤S801,输出各元素的映射数值至转换结果数组。最后,执行步骤S9,通过转换结果数组将映射数值转换成十进制数值并输出。
一种交通IC卡交易中进制转换的方法第一实施例:
将交通IC卡电子钱包的最大金额为0x00FFFFFF(最高字节0x00可忽略)转换为十进制。
首先,执行步骤S1,对数据进行初始化操作,将转换结果数组清零,将循环移位计数器的初始值设为0,将待转换数组向最低半字节的位置偏移。具体地,待转换数组为存储电子钱包金额的3字节byte型数组srcbuffer,采用低端方式存储,srcbuffer[2]存储FF,srcbuffer[1]存储FF,srcbuffer[0]存储FF。接着,执行步骤S2,将待转换数组的数据的最低半字节F对应查找第一映射列表的分表A。然后,执行步骤S3,判断待转换数组的数据的半字节[F]是否大于8,因[F]大于8,则执行步骤S4,将分表A中的第8组数组与第(F-8)=7组数组相加,并作为第一映射数组缓存在缓存数组缓冲器中,循环移位计数器增1,具体地,缓存在缓存数组缓冲器的映射数组为tmpbuffer,即(short)0x0000,(short)0x0000,(short)0x0000,(short)0x0007,(short)0x0000,(short)0x0000,(short)0x0000,(short)0x0008,相加,得映射数组tmpbuffer(1)={0x0000,0x0000,0x0000,0x000F},循环移位计数器=1。
接着,执行步骤S5,判断循环移位计数器是否已达到最大值6,因1小于6,则执行步骤S601,待转换数组的数据向高半个字节的位置方向偏移,并对应查找第一映射列表的分表B,并返回执行步骤S3,判断待转换数组的数据的半字节[F]是否大于8,因此时[F]大于8,则执行步骤S4,将分表B中的第8组数组与第(F-8)=7组数组相加,并与缓存在缓存数组缓冲器的数据作为更新映射数组缓存在缓存数组缓冲器中,循环移位计数器增1,即(short)0x0000,(short)0x0000,(short)0x0001,(short)0x000C,(short)0x0000,(short)0x0000,(short)0x0001,(short)0x001C,tmpbuffer(1)={0x0000,0x0000,0x0000,0x000F}相加,得tmpbuffer(2)={0x0000,0x0000,0x0002,0x0037},循环移位计数器=2。
接着,执行步骤S5,判断循环移位计数器是否已达到最大值6,因2小于6,则待转换数组的数据向高半个字节的位置方向偏移,并对应查找第一映射列表的分表C,并返回执行步骤S3,判断待转换数组的数据的半字节[F]是否大于8,因[F]大于8,则执行步骤S4,将分表C中的第8组数组与第(F-8)=7组数组相加,并与缓存在缓存数组缓冲器的数据作为更新映射数组缓存在缓存数组缓冲器中,循环移位计数器增1,即(short)0x0000,(short)0x0000,(short)0x0011,(short)0x005C,(short)0x0000,(short)0x0000,(short)0x0014,(short)0x0030,tmpbuffer(2)={0x0000,0x0000,0x0002,0x0037}相加,得tmpbuffer(3)={0x0000,0x0000,0x0028,0x005F},循环移位计数器=3。
接着,执行步骤S5,判断循环移位计数器是否已达到最大值6,因3小于6,则待转换数组的数据向高半个字节的位置方向偏移,并对应查找第一映射列表的分表D,并返回执行步骤S3,判断待转换数组的数据的半字节[F]是否大于8,因[F]大于8,则执行步骤S4,将分表C中的第8组数组与第(F-8)=7组数组相加,并与缓存在缓存数组缓冲器的数据作为更新映射数组缓存在缓存数组缓冲器中,循环移位计数器增1,即(short)0x0000,(short)0x0002,(short)0x0056,(short)0x0048,(short)0x0000,(short)0x0003,(short)0x001B,(short)0x0044,tmpbuffer(3)={0x0000,0x0000,0x0028,0x005F},相加,得tmpbuffer(4)={0x0000,0x0006,0x0037,0x0023},循环移位计数器=4。
接着,执行步骤S5,判断循环移位计数器是否已达到最大值6,因4小于6,则待转换数组的数据向高半个字节的位置方向偏移,并对应查找第一映射列表的分表D,并返回执行步骤S3,判断待转换数组的数据的半字节[F]是否大于8,因[F]大于8,则执行步骤S4,将分表C中的第8组数组与第(F-8)=7组数组相加,并与缓存在缓存数组缓冲器的数据作为更新映射数组缓存在缓存数组缓冲器中,循环移位计数器增1,即(short)0x0000,(short)0x002D,(short)0x0057,(short)0x0034,(short)0x0000,(short)0x0034,(short)0x002A,(short)0x0058,tmpbuffer(4)={0x0000,0x0006,0x0037,0x0023}相加,得tmpbuffer(5)={0x0001,0x0004,0x0055,0x004B},循环移位计数器=5。
接着,执行步骤S5,判断循环移位计数器是否已达到最大值6,因5小于6,则待转换数组的数据向高半个字节的位置方向偏移,并对应查找第一映射列表的分表D,并返回执行步骤S3,判断待转换数组的数据的半字节[F]是否大于8,因[F]大于8,则执行步骤S4,将分表C中的第8组数组与第(F-8)=7组数组相加,并与缓存在缓存数组缓冲器的数据作为更新映射数组缓存在缓存数组缓冲器中,循环移位计数器增1,即(short)0x0007,(short)0x0022,(short)0x0000,(short)0x0020,(short)0x0008,(short)0x0026,(short)0x0056,(short)0x0008,tmpbuffer(5)={0x0001,0x0004,0x0055,0x004B}相加,得tmpbuffer(6)={0x0010,0x004D,0x0048,0x000F},循环移位计数器=6。
接着,执行步骤S5,判断循环移位计数器是否已达到最大值6,因6等于6,则执行步骤S6,将存储在缓存数组缓冲器的数据对应查找第二映射列表,具体地,0x000F对应第二映射列表的第(15+1)个元素,即(byte)0x15;0x0048对应第二映射列表的第(72+1)个元素,即(byte)0x72;0x004D对应第二映射列表的第(77+1)个元素,即(byte)0x77;0x0010对应第二映射列表的第(16+1)个元素,即(byte)0x16;然后,执行步骤S7,判断存储在缓存数组缓冲器的数据的各元素数值是否大于0x0063,因0x000F小于0x0063、0x0048小于0x0063、0x004D小于0x0063、0x0010小于0x0063,则执行步骤S801,依次输出各元素的映射数值至转换结果数组,具体地,将(byte)0x15、(byte)0x72、(byte)0x77、(byte)0x16依次传递给转换结果数组。最后,执行步骤S10,通过转换结果数组将映射数值转换成十进制数值并输出,具体地,最终十进制数值结果为000016777215。
一种交通IC卡交易中进制转换的方法第二实施例:
将十六进制数值0x0030AED6(最高字节0x00可忽略)转换为十进制。
首先,执行步骤S1,对数据进行初始化操作,将转换结果数组清零,将循环移位计数器的初始值设为0,将待转换数组向最低半字节的位置偏移。具体地,待转换数组为存储电子钱包金额的3字节byte型数组srcbuffer,采用低端方式存储,srcbuffer[2]存储D6,srcbuffer[1]存储AE,srcbuffer[0]存储3F。接着,执行步骤S2,将待转换数组的数据的最低半字节6对应查找第一映射列表的分表A。然后,执行步骤S3,判断待转换数组的数据的半字节[6]是否大于8,因[6]小于8,则执行步骤S401,将分表A中的第6组数组作为第一映射数组缓存在缓存数组缓冲器中,循环移位计数器增1,具体地,缓存在缓存数组缓冲器的映射数组为tmpbuffer,即(short)0x0000,(short)0x0000,(short)0x0000,(short)0x0006得tmpbuffer(1)={0x0000,0x0000,0x0000,0x0006},循环移位计数器=1。
接着,执行步骤S5,判断循环移位计数器是否已达到最大值6,因1小于6,则执行步骤S601,待转换数组的数据向高半个字节的位置方向偏移,并对应查找第一映射列表的分表B,并返回执行步骤S3,判断待转换数组的数据的半字节[D]是否大于8,因[D]大于8,则执行步骤S4,将分表B中的第8组数组与第(D-8)=5组数组相加,并与缓存在缓存数组缓冲器的数据作为更新映射数组缓存在缓存数组缓冲器中,循环移位计数器增1,即(short)0x0000,(short)0x0000,(short)0x0001,(short)0x001C,(short)0x0000,(short)0x0000,(short)0x0000,(short)0x0050,tmpbuffer(1)={0x0000,0x0000,0x0000,0x0006}相加,得tmpbuffer(2)={0x0000,0x0000,0x0001,0x0072},循环移位计数器=2。
接着,执行步骤S5,判断循环移位计数器是否已达到最大值6,因2小于6,则执行步骤S601,待转换数组的数据向高半个字节的位置方向偏移,并对应查找第一映射列表的分表C,并返回执行步骤S3,判断待转换数组的数据的半字节[E]是否大于8,因[E]大于8,则执行步骤S4,将分表B中的第8组数组与第(E-8)=6组数组相加,并与缓存在缓存数组缓冲器的数据作为更新映射数组缓存在缓存数组缓冲器中,循环移位计数器增1,即(short)0x0000,(short)0x0000,(short)0x0014,(short)0x0030,(short)0x0000,(short)0x0000,(short)0x000F,(short)0x0024,tmpbuffer(2)={0x0000,0x0000,0x0001,0x0072}相加,得tmpbuffer(3)={0x0000,0x0000,0x0024,0x00C6},循环移位计数器=3。
接着,执行步骤S5,判断循环移位计数器是否已达到最大值6,因3小于6,则执行步骤S601,待转换数组的数据向高半个字节的位置方向偏移,并对应查找第一映射列表的分表D,并返回执行步骤S3,判断待转换数组的数据的半字节[A]是否大于8,因[A]大于8,则执行步骤S4,将分表D中的第8组数组与第(A-8)=2组数组相加,并与缓存在缓存数组缓冲器的数据作为更新映射数组缓存在缓存数组缓冲器中,循环移位计数器增1,即(short)0x0000,(short)0x0003,(short)0x001B,(short)0x0044,(short)0x0000,(short)0x0000,(short)0x0051,(short)0x005C,tmpbuffer(3)={0x0000,0x0000,0x0024,0x00C6}相加,得tmpbuffer(4)={0x0000,0x0003,0x0090,0x0166},循环移位计数器=4。
接着,执行步骤S5,判断循环移位计数器是否已达到最大值6,因4小于6,则执行步骤S601,待转换数组的数据向高半个字节的位置方向偏移,并对应查找第一映射列表的分表E,并返回执行步骤S3,判断待转换数组的数据的半字节[0]是否大于8,因半字节为0,循环移位计数器增1,即循环移位计数器=5,其余不作处理,tmpbuffer(5)=tmpbuffer(4)={0x0000,0x0003,0x0090,0x0166}。
接着,执行步骤S5,判断循环移位计数器是否已达到最大值6,因5小于6,则执行步骤S601,待转换数组的数据向高半个字节的位置方向偏移,并对应查找第一映射列表的分表F,并返回执行步骤S3,判断待转换数组的数据的半字节[3]是否大于8,因[3]小于8,则执行步骤S4,将分表E中的第6组数组作为更新映射数组缓存在缓存数组缓冲器中,循环移位计数器增1,即(short)0x0003,(short)0x000E,(short)0x0039,(short)0x001C,tmpbuffer(5)={0x0000,0x0003,0x0090,0x0166}相加,得tmpbuffer(6)={0x0003,0x0011,0x00C9,0x0182},循环移位计数器=6。
接着,执行步骤S5,判断循环移位计数器是否已达到最大值6,因6等于6,则执行步骤S6,将存储在缓存数组缓冲器的数据对应查找第二映射列表,具体地,0x0003对应第二映射列表的第(3+1)个元素,即(byte)0x03;0x0011对应第二映射列表的第(17+1)个元素,即(byte)0x17;0x00C9、0x0182无法找到对应元素。然后,执行步骤S7,判断存储在缓存数组缓冲器的数据的各元素数值是否大于0x0063,因0x0182大于0x0063、00x00C9大于0x0063,则执行步骤S8,将数值大于0x0063的元素的映射数值向高位字节进位并依次输出处理后各元素的映射数值至转换结果数组,具体地,0x0182的映射数值为[0x00182-(00x0064)×3]=00x0056,对应第二映射列表的第(86+1)个元素,即(byte)0x86,并向高位字节进位3;00x00C9的映射数值为[0x00C9-(00x0064)×1]=00x0001,对应第二映射列表的第(1+1)个元素,即(byte)0x01,并向高位字节进位2。则低位至高位字节的映射数值分别为(byte)0x86、(byte)0x01+(byte)0x03=(byte)0x04、(byte)0x17+(byte)0x02=(byte)0x19、(byte)0x03。具体地,依次输出(byte)0x86、(byte)0x04、(byte)0x19、(byte)0x03至转换结果数组。最后,执行步骤S9,通过转换结果数组将映射数值转换成十进制数值并输出,具体地,最终十进制数值结果为000003190486。
计算机装置实施例:
本实施例的计算机装置包括有处理器、存储器以及存储在存储器中并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现前述交通IC卡交易中进制转换的方法的各个步骤。
例如,计算机程序可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行,以完成本发明的各个模块。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在终端设备中的执行过程。
本发明所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是电器的控制中心,利用各种接口和线路连接整个电器的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现电器的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电器的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
计算机可读存储介质实施例:
计算机装置的存储器所存储的计算机程序如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述交通IC卡交易中进制转换的方法的各个步骤。
其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
最后需要强调的是,本发明不限于上述实施方式,如对交通IC卡交易中进制转换的方法的具体过程及映射列表的改变等,这些改变也应该包括在本发明权利要求的保护范围内。
Claims (10)
1.一种交通IC卡交易中进制转换的方法,其特征在于,包括:
对数据进行初始化操作;
将待转换数组的数据的最低半字节对应查找第一映射列表并执行数组处理操作得到第一映射数组,将所述第一映射数组缓存在缓存数组缓冲器中,循环移位计数器增1;
执行判断操作,判断所述循环移位计数器是否已达到最大值,如是,将缓存在缓存数组缓冲器的数据的各元素对应查找第二映射列表并执行数值处理操作得到所述缓存数组缓冲器中的数据的各元素的映射数值,依次传递给转换结果数组;如否,则待转换数组的数据向高半个字节的位置方向偏移,对应查找第一映射列表、执行数组处理操作并与缓存在缓存数组缓冲器中的数据相加得到更新映射数组并缓存在缓存数组缓冲器中,循环移位计数器增1,并返回执行判断操作。
2.根据权利要求1所述的交通IC卡交易中进制转换的方法,其特征在于:
所述初始化操作包括将所述转换结果数组清零,将所述循环移位计数器的初始值设为0,将待转换数组向最低半字节的位置偏移。
3.根据权利要求1所述的交通IC卡交易中进制转换的方法,其特征在于:
所述第一映射列表包括若干分表,每一所述分表分别对应所述待转换数组的数据的最低半字节至最高半字节。
4.根据权利要求3所述的交通IC卡交易中进制转换的方法,其特征在于:
所述分表均包括8组4元素数组,分别对应数据区间为1至8的所述待转换数组的数据的半字节。
5.根据权利要求4所述的交通IC卡交易中进制转换的方法,其特征在于:
所述数组处理操作包括:判断待转换数组的数据的半字节N是否大于8,如是,则将所述对应分表中的所述第8组数组与第(N-8)组数组相加;如否,则不作处理。
6.根据权利要求1所述的交通IC卡交易中进制转换的方法,其特征在于:
所述第二映射列表包括100个元素,多个所述元素分别对应于地址为0x0000至0x0063的数据值。
7.根据权利要求1或6所述的交通IC卡交易中进制转换的方法,其特征在于:
所述数值处理操作包括:判断所述存储在缓存数组缓冲器的数据的各元素数值是否大于0x0063,如是,则将数值大于0x0063的元素的映射数值向高位字节进位;如否,则不作处理。
8.根据权利要求1或6任一项所述的交通IC卡交易中进制转换的方法,其特征在于:
所述转换结果数组将所述映射数值转换成十进制数值并输出。
9.计算机装置,其特征在于:包括处理器及存储器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至8任一项所述的交通IC卡交易中进制转换的方法的各个步骤。
10.计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的交通IC卡交易中进制转换的方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910805540.XA CN110533414B (zh) | 2019-08-29 | 2019-08-29 | 一种交通ic卡交易中进制转换的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910805540.XA CN110533414B (zh) | 2019-08-29 | 2019-08-29 | 一种交通ic卡交易中进制转换的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110533414A true CN110533414A (zh) | 2019-12-03 |
CN110533414B CN110533414B (zh) | 2024-01-05 |
Family
ID=68664912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910805540.XA Active CN110533414B (zh) | 2019-08-29 | 2019-08-29 | 一种交通ic卡交易中进制转换的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110533414B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104504974A (zh) * | 2014-12-22 | 2015-04-08 | 常州大学 | 单片机系统设计与开发实验仪 |
CN104680236A (zh) * | 2015-02-13 | 2015-06-03 | 西安交通大学 | 核函数极限学习机分类器的fpga实现方法 |
CN106664622A (zh) * | 2014-09-09 | 2017-05-10 | 高通股份有限公司 | 利用相关性比特映射导出eMBMS邻居SAI信息 |
CN109656748A (zh) * | 2018-12-10 | 2019-04-19 | 华中科技大学 | 一种通过数据模式重布局降低mlc nand闪存误码率的方法 |
CN109766149A (zh) * | 2018-12-28 | 2019-05-17 | 金邦达有限公司 | 提升交通一卡通交易性能的方法、计算机装置及计算机可读存储介质 |
CN110162487A (zh) * | 2019-04-15 | 2019-08-23 | 深圳壹账通智能科技有限公司 | 一种快速统计重复次数方法、装置及存储介质 |
-
2019
- 2019-08-29 CN CN201910805540.XA patent/CN110533414B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106664622A (zh) * | 2014-09-09 | 2017-05-10 | 高通股份有限公司 | 利用相关性比特映射导出eMBMS邻居SAI信息 |
CN104504974A (zh) * | 2014-12-22 | 2015-04-08 | 常州大学 | 单片机系统设计与开发实验仪 |
CN104680236A (zh) * | 2015-02-13 | 2015-06-03 | 西安交通大学 | 核函数极限学习机分类器的fpga实现方法 |
CN109656748A (zh) * | 2018-12-10 | 2019-04-19 | 华中科技大学 | 一种通过数据模式重布局降低mlc nand闪存误码率的方法 |
CN109766149A (zh) * | 2018-12-28 | 2019-05-17 | 金邦达有限公司 | 提升交通一卡通交易性能的方法、计算机装置及计算机可读存储介质 |
CN110162487A (zh) * | 2019-04-15 | 2019-08-23 | 深圳壹账通智能科技有限公司 | 一种快速统计重复次数方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110533414B (zh) | 2024-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109634698A (zh) | 菜单显示方法、装置、计算机设备及存储介质 | |
CN107749033A (zh) | 一种网络社区活跃用户簇的发现方法、终端设备及存储介质 | |
CN103345469A (zh) | 号码集合的存储、查询方法及其装置 | |
CN106155683A (zh) | 电子地图点位聚合方法以及服务端装置 | |
CN109299334A (zh) | 一种知识图谱的数据处理方法及装置 | |
CN109685545A (zh) | 待发放虚拟网络资源预估方法、装置及电子设备 | |
CN105631664A (zh) | 一种非接触支付方法、装置及系统 | |
CN104966190A (zh) | 一种网络支付方法和装置 | |
CN108022096A (zh) | 一种移动支付方法、装置、终端及可读存储介质 | |
CN109559218A (zh) | 一种异常交易的确定方法、装置及存储介质 | |
CN109558537A (zh) | 一种聚合平台的数据处理方法及装置 | |
CN107704942A (zh) | 配送路径确定方法、装置和设备 | |
CN109086289A (zh) | 一种媒体数据处理方法、客户端、介质和设备 | |
CN111813517A (zh) | 任务队列的分配方法、装置、计算机设备及介质 | |
CN106067158B (zh) | 一种基于gpu的特征比对方法及装置 | |
CN105320543B (zh) | 加载软件模块的方法和装置 | |
CN110335061A (zh) | 交易模式画像建立方法、装置、介质及电子设备 | |
CN110489242A (zh) | 分布式数据计算方法、装置、终端设备及存储介质 | |
CN102541639B (zh) | 一种cpu卡数据处理方法、系统及cpu卡 | |
CN110533414A (zh) | 一种交通ic卡交易中进制转换的方法 | |
CN108509828A (zh) | 一种人脸识别方法和人脸识别装置 | |
CN102034305A (zh) | 复合应用业务处理方法及智能卡 | |
CN109710278A (zh) | 一种卸载应用程序的方法、装置及终端设备 | |
CN109857816A (zh) | 测试样本的选取方法及装置、存储介质、电子设备 | |
CN109191103A (zh) | 一种数据梳理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |