烦人的《计算机组成原理》课程设计终于弄完了!中途有一些过程是需要二进制与十六进制相互转换的,而且数据量还超多。我看到有同学用Windows自带的计算器一条一条的转换,甚是麻烦。于是就决定写了这个批量互转的东东。
主要的思想是,用map,把二进制串作key,对应十六进制字符作value,关联起来。比如在二进制转换十六进制的时候,就寻找这个Key,替换成这个value就实现转换了。
之所以要这么做,就是因为格式所需(位数不够高位需填0)。我也试过,把字串转换数字之后再处理,再用格式控制符, 比如%X是十六进制,来处理的,但是遇到十六进制转二进制就不知道怎么办了(无法满足格式要求)。
源码和exe都打包了,需要下载的同学,请点文章末尾的链接。由于是临时应急,所以错误处理不太好,需要输入数据是合法的才行!
下面把主要代码贴一下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | void CBHTransDlg::Trans(CString strFrom, CString& strTo, int nHex) { strFrom.Remove(' ');//去除空格 strFrom.MakeUpper();//忽略大小写 int nPos = 0; int nLength = strFrom.GetLength(); CString strTmp; TCHAR chCur; int nCnt = 0; do { chCur = strFrom.GetAt(nPos ++); //if((chCur >= '0' && chCur <= '9') || (chCur >= 'A' && chCur <= 'Z')) if(chCur != '\n' && chCur != '\r') { strTmp += chCur; nCnt ++; if(nHex == 2 && nCnt == 4) { m_map.Lookup(strTmp, chCur); strTo += chCur; strTmp.Empty(); nCnt = 0; } else if(nHex == 16) { POSITION pos = m_map.GetStartPosition(); while(pos) { char chTmp; m_map.GetNextAssoc(pos, strTmp, chTmp); if(chCur == chTmp) { strTo += strTmp; break; } }//while }// if进制判断 } else//在目的字串加上相应的回车 { strTo += _T("\r\n");//\r换行和回车\n要一块儿加才能达到效果 nPos ++; } } while(nPos < nLength); //拷贝到剪贴板 Copy2Clipboard(strTo); m_StatusBar.SetText(_T("结果已拷贝至剪贴板!"), 0, 0); } |
附件下载:


不懂?
忘了贴图了
想到以前那個神馬ASCII轉換…
php中的?
不是,好歹剛剛進入學校的時候很認真的學過c,當然現在都忘了
会编程还是很有用的,很多时候,可以节省体力。这点同学五笔的道理是一样的!ps.我也会五笔
本來是認真的,不過學校一本書都沒教完,下學期就學別的了…
kita覺得沒意思了,然後就去做其他的事情了
不能老师教什么才学什么啊
嘿嘿,後來我就直接無視掉那些課程了,做自己喜歡的,練字啊什麼的
平时不学,期末会很痛苦的!我已经体会很多次了,再也不想再体会了!
還好,kita考前看下書就能通過了
我看着痛苦啊!就像一天要吃下一周的东西一样
而且还要冒着挂科的风险
C?
1、C非西,西非C
2、你的头像像中了毒的日本国旗,呵呵
我什么都不懂,我是头号大傻瓜。。。
怎么这么说呢?
看不懂的说…
会用就行
C瓜哥太牛了,拿下。我们明年应该也会用到的~
明年怕早已忘记这玩意儿了吧
我是来凑热闹的
welcome
小问题一般都是些个程序来处理,方便,高效
临时用用
我一般只用十进制,哈哈
Coder更经常接触的是非十进制
围观,水水
来灌灌水~
你的课程设计题目是啥?
微程序设计
批量是怎么弄的?
其实就是把处理数字换成处理字串而已
C瓜越来越牛B了哦。嘿嘿,这个支持了。
你怎么看出牛B的?
来坐坐!
老师以前让我们用C语言编。。
我这个可是有界面的,和你们那个控制台的肯定不一样啦!
看不懂的说。、
不错,好文,学习了
代码看不懂的话就比较晕的说啦~】、、 表情很大的话,看起来还真是别有一番风味的~
貌似还能看懂
同道中人呐
来支持瓜葛!orz
我和你有什么瓜葛?
看着就头大的路过~
路过……
下学期就开始学这门课了,希望不要太变态啊……到时候如果用到这个东西就过来借了啊~
你说的是C++?
可能你会失望的,因为老师可能不会讲Windows编程
C++和组成原理还有汇编语言都在下学期……orz
你们学校安排得很不好!组成原理和汇编语言最好单独排在一个学期
名字和模板都非常有个性啊!O(∩_∩)O哈哈~
加链接,加Q1019714877私聊
不错,学习了!