以下代码可以转一个正整数为2的幂次方表达式。没什么严谨验证,只是简单检验一下。
<cffunction name="makeup">
<cfargument name="mylist" default="">
<cfset var l_key = "">
<cfset var l_key2 = "">
<cfset var l_counter = "">
<cfloop list="#mylist#" delimiters="+" index="l_key">
<cfset l_counter = listvaluecount(mylist, l_key, "+")>
<cfif l_counter gt 1>
<cfloop from="1" to="#l_counter-(l_counter mod 2)#" index="l_key2">
<cfset mylist = listdeleteat(mylist, listfind(mylist, l_key, "+"), "+")>
<cfif l_key2 mod 2 eq 0>
<cfset mylist = listappend(mylist, l_key-1,"+")>
</cfif>
</cfloop>
<cfset mylist = makeup(mylist)>
<cfbreak>
</cfif>
<cfloop>
<cfreturn mylist>
</cffunction>
<cfset a = "123456"> <!--- 要转换的正整数 --->
<cfset a1 = a>
<cfset c = "">
<cfset d = arraynew(1)>
<cfloop from="1" to="#ceiling(len(a)/15)#" index="l_key">
<cfset d[l_key] = mid(a, (l_key-1)*15+1,15)>
</cfloop>
<cfloop from="1" to="#arraylen(d)#" index="l_key">
<cfset e= 0>
<cfloop from="#l_key+1#" to="#arraylen(d)#" index="l_key2">
<cfset e = e+len(d[l_key2])>
</cfloop>
<cfset a = d[l_key] & repeatstring("0", e)>
<cfloop condition="a gt 0">
<cfset b = int(log(a)/log(2))>
<cfset a = a - 2^b>
<cfset c = listappend(c, "2^#b#","+")>
</cfloop>
</cfloop>
<cfset c = replace(c, "2^", "-", "all")>
<cfset c = makeup(c)>
<cfset c= listsort(c, "numeric", "asc", "+")>
<cfset c = replace(c, "-", "2^", "all")>
<cfif listlast(c,"+") eq "0">
<cfset c = listdeleteat(c, listfind(c, "0","+"),"+")>
<cfset c = listappend(c, "2^0","+")>
</cfif>
<cfoutput>
Original: #a#<br>
Output: #c#
</cfoutput>
请测试一下。不知道如何逆转。实现把2的幂次方表达式转成数值。不是小数字,而是大数字。
分享到:
相关推荐
ColdFusion是建立交互式站点的一个快速而强大的开发工具。利用ColdFusion,可以用最快的速度将服务器, 浏览器,和数据库技术相集成,建立强大的Web应用程序,而且,它不需要传统的编程语言, 你只需将标准的HTML...
使用ColdFusion Express进行ColdFusion Web应用开发,偏门好东东
从ColdFusion9升级到ColdFusion16的详细介绍方法 日语版
ColdFusion-UI-the-Right-Way, 在后端,一个演示如何使用ColdFusion进行UI的文章列表 ColdFusion用户界面这个项目是为了帮助ColdFusion开发人员从产品中离开多个内置的UI控件。 这是我们的信任( 这将在介绍中更详细...
ColdFusion Studio中的可视化编程工具、数据库和程序调试工具可以帮助实现快速开发。已证实的ColdFusion Server技术不但提供了高可靠性,还将不断满足高访问量的Web应用程序的需要。ColdFusion和各种数据库、email、...
Java for Coldfusion Developers
ColdFusion 函数 大部分 集合
学习coldfusion必不可少,网页编程的锦囊,需要的就快来下载
ColdFusion官网安装文件
coldfusion function chinese document
给学习中和正在开发ColdFusion的用户提供一种很大的帮助
ColdFusion.MX.Bible ColdFusion.MX.Bible ColdFusion.MX.Bible
ColdFusion后台利用方法
Adobe ColdFusion ColdFusion初級教程繁體中文
ColdFusion 5.0高级编程5.pdfColdFusion 5.0高级编程5.pdf
ColdFusion Web Development with Macromedia Dreamweaver MX 2004
awesome-coldfusion, 出色的ColdFusion框架库和软件的精选列表 出色的ColdFusion 出色的ColdFusion框架。库和软件的精选列表。 灵感来自于的javascript 。请求请求非常欢迎。出色的ColdFusion引擎应用程序框架测试...
测试过。生成的页面没有水印。另外,coldfusion 9使用起来不错。只是使用Norton检查过病毒。没有发现问题。
Atom-atom-language-coldfusion.zip,[deprecated] Adds syntax highlighting and snippets to ColdFusion file in Atom.atom中的coldfusion语言支持,atom是一个用web技术构建的开源文本编辑器。
ColdFusion9 API 麻烦,还要20个字,现在差不多了嘛。