版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、package com.test.hex2decimal; import java.util.HashMap; publicclass MainEntry publicstaticvoid main(String args) / 初始化 16 進(jìn)制數(shù)據(jù)鍵值對newnewHashMap<Integer, Character> hmI2C = HashMap<Integer, Character>();HashMap<Character, Integer> hmC2I =HashMap<Character, Integer>(); for ( int
2、 i = 0; i < 10; i+) hmI2C.put(i, ( char ) ( '0' +i); hmC2I.put( char ) ( '0' +i), i);for ( int i = 0; i < 6; i+) hmI2C.put(10+i, ( hmC2I.put(char ) ( 'A' +i); char ) ( 'A' +i), 10+i);7頁/ 調(diào)用功能接口hexToDecimal hmC2I);( "ECABFFFED1234D7897685DC", hmI2C,* 實(shí)現(xiàn)
3、功能函數(shù)*/ privatestaticvoid hexToDecimal(String hexString,HashMap<Integer, Character> hmI2C, HashMap<Character, Integer> hmC2I) String result = "0" ; / 初始化結(jié)果值 for ( int i = 0; i < hexString.length()-1 ; i+) if (i = 0) result =additional (hmC2I.get(hexString.charAt(i). toString(
4、),"0" , hmI2C, hmC2I); result =decimalStrMultiple16(result, hmI2C, hmC2I); else result =additional (result,(hmC2I.get(hexString.charAt(i).toString(),hmI2C, hmC2I);result =decimalStrMultiple16(result, hmI2C, hmC2I);result = additional (result,(hmC2I.get(hexString.charAt(hexString.length()-1
5、).toString(),hmI2C, hmC2I);= " +result);System. out .println( "result /*乘法:*/被乘數(shù)privatestatic String decimalStrMultiple16(String decimalString,HashMap<Integer, Character> hmI2C,HashMap<Character, Integer> hmC2I) StringBuffer sb =new StringBuffer();carryAndUnit cu =null ;for ( i
6、nt i = decimalString.length()-1; i >=0;i-) if (i = decimalString.length()-1) cu =multipleOne (decimalString.charAt(i),0, hmI2C, hmC2I); else cu =multipleOne (decimalString.charAt(i),cu. c, hmI2C, hmC2I); sb.insert(0, cu.u);if (cuc > 0) sb.insert(0, cu.c);returnsb.toString();/*一位乘法:*被乘數(shù)*進(jìn)位*直接乘了
7、 16 ,是因?yàn)?16 進(jìn)制轉(zhuǎn)換為 10 進(jìn)制數(shù)*/privatestatic carryAndUnitmultipleOne(charintc,HashMap<Integer, Character> hmI2C,HashMap<Character,Integer>hmC2I)intmultiplicand = hmC2I.get(a);intmultiplier = 16;intcarry = c;intresult = multiplicand*multiplier+carry;carryAndUnit cu =new carryAndUnit(result/10,
8、a,hmI2C.get(result%10);returncu;/*加法:*被加數(shù)*/加數(shù)privatestatic String additional(String decimalResult, String addend,HashMap<Integer, Character> hmI2C, HashMap<Character, Integer> hmC2I) StringBuffer sb =new StringBuffer();carryAndUnit cu =null ;if (addend.length() = 1) for ( int i = decimal
9、Result.length()-1 ; i >= 0;i-) if (i = decimalResult.length()-1) cu =additionalOne (decimalResult.charAt(i), addend.charAt(0), 0, hmI2C, hmC2I); else cu =additionalOne (decimalResult.charAt(i), '0' , cu. c, hmI2C, hmC2I);sb.insert(0, cu. u); if (cu. c > 0) c);sb.insert(0, cu.elseif(add
10、end.length() = 2) for ( int i = decimalResult.length()-1 ; i >= 0; i-) if (i = decimalResult.length()-1) cu =additionalOne (decimalResult.charAt(i), addend.charAt(1), 0,hmI2C, hmC2I); else cu =additionalOne (decimalResult.charAt(i), '0' , cu. c, hmI2C, hmC2I);sb.insert(0, cu.u);if (cu. c
11、> 0) sb.insert(0, cu.c);String tempStr = sb.toString(); sb.delete(0, sb.length();sb.insert(0, tempStr.charAt(tempStr.length()-1); for ( int i = tempStr.length()-2 ; i >= 0; i-) if (i = tempStr.length()-2) cu =additionalOne (tempStr.charAt(i), addend.charAt(0), 0,hmI2C, hmC2I); else cu =additio
12、nalOne (tempStr.charAt(i),'0' , cu. c, hmI2C, hmC2I);sb.insert(0, cu.u);if (tempStr.length() = 1) sb.insert(0, addend.charAt(0); if (cu. c > 0) sb.insert(0, cu.c); else System. out .println("additional.addenderror" );return sb.toString(); /*一位加法:被加數(shù) 加數(shù) 之前的進(jìn)位*/charhmC2I) privatestatic carryAndUnit additionalOne( a, char b, int c,HashMap<Integer, Character> hmI2C,HashMap<Character, Integer> int augend = hmC2I.get(a); int addend = hmC2I.get(b); int carry = c;int result = augend+addend+carry; carryAndUnit
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版油氣田鉆井技術(shù)服務(wù)質(zhì)量承包合同3篇
- 2025年度環(huán)保型廠房設(shè)計(jì)與施工總承包合同3篇
- 二零二四年在線教育平臺軟件全國代理銷售合同模板2篇
- 2025年度全國范圍內(nèi)土地測繪技術(shù)服務(wù)合同范文3篇
- 2024版液化天然氣交易協(xié)議全文下載版B版
- 2024版運(yùn)輸行業(yè)職員勞動(dòng)協(xié)議樣本
- 2024年地基買賣合同附帶地基檢測及質(zhì)量認(rèn)證3篇
- 2025年大棚農(nóng)業(yè)綠色生產(chǎn)技術(shù)引進(jìn)合同3篇
- 2025年度綠色建筑:知識產(chǎn)權(quán)許可與環(huán)保建材合同3篇
- 2025年智慧能源物業(yè)工程承包及節(jié)能服務(wù)合同3篇
- 2024版塑料購銷合同范本買賣
- 【高一上】【期末話收獲 家校話未來】期末家長會
- JJF 2184-2025電子計(jì)價(jià)秤型式評價(jià)大綱(試行)
- GB/T 44890-2024行政許可工作規(guī)范
- 有毒有害氣體崗位操作規(guī)程(3篇)
- 兒童常見呼吸系統(tǒng)疾病免疫調(diào)節(jié)劑合理使用專家共識2024(全文)
- 2025屆山東省德州市物理高三第一學(xué)期期末調(diào)研模擬試題含解析
- 《華潤集團(tuán)全面預(yù)算管理案例研究》
- 二年級下冊加減混合豎式練習(xí)360題附答案
- 異地就醫(yī)備案個(gè)人承諾書
- 蘇教版五年級數(shù)學(xué)下冊解方程五種類型50題
評論
0/150
提交評論