本篇文章為大家展示了怎么編寫利用棧實現(xiàn)二進制轉(zhuǎn)換十六進制的完整C代碼,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
創(chuàng)新互聯(lián)公司專注于屏南網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供屏南營銷型網(wǎng)站建設(shè),屏南網(wǎng)站制作、屏南網(wǎng)頁設(shè)計、屏南網(wǎng)站官網(wǎng)定制、小程序定制開發(fā)服務(wù),打造屏南網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供屏南網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
/* 二進制轉(zhuǎn)換為十進制 */ #include<stdio.h> #include<stdlib.h> #define INCREMENT 8 typedef char Elemtype; typedef struct Stack { Elemtype *top; Elemtype *base; int stackSize; }Stack; Stack *initStack( int n ) //棧初始化函數(shù) { Stack *s = (Stack *)malloc(sizeof(Stack)); s -> base = ( Elemtype * )malloc( sizeof(Elemtype) * n ); if ( s -> base == NULL ) exit(0); s -> top = s -> base; s -> stackSize = n; return s; } void Push( Stack *s, Elemtype e ) //入棧函數(shù) { if( s->top - s->base >= s->stackSize ) { s -> base = (Elemtype *)realloc( s->base, s->stackSize + INCREMENT * sizeof(Elemtype) ); if( !s->base ) exit(0); s->top = s->base + s->stackSize; s->stackSize = s->stackSize + INCREMENT; } *(s->top) = e; s->top++; } Elemtype Pop( Stack *s ) //出棧函數(shù) { if( s->top == s->base ) exit(0); return ( *--(s->top) ); } int StackLen( Stack *s) //求棧內(nèi)元素數(shù)量 { return ( s->top - s->base ); } int main() { int length; int i; short int sum = 0; int index; int temp; Elemtype element; Stack *s = initStack( 16 ); Stack *p = initStack( 8 ); printf("請輸入二進制數(shù):\n"); scanf("%c", &element); while( element != '\n' ) { //將二進制數(shù)以字符型入棧,回車號結(jié)束輸入 Push( s, element ); scanf("%c", &element); } length = StackLen( s ); while( StackLen( s ) ) { for( i=0,sum=0,index=1; (i<4)&&(StackLen(s)); i++ ) { //進制轉(zhuǎn)換 '1' ----- ASC碼為49 sum = sum + (Pop(s)-48) * index; index *= 2; } Push( p, sum ); } printf("轉(zhuǎn)換十六進制數(shù)為:\n"); while( StackLen(p) ) { temp = Pop(p); if( temp >= '0' && temp <= '9' ) printf("%d", temp); else printf("%c", temp+'A'-10); } printf("\n"); return 0; }
上述內(nèi)容就是怎么編寫利用棧實現(xiàn)二進制轉(zhuǎn)換十六進制的完整C代碼,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
當前文章:怎么編寫利用棧實現(xiàn)二進制轉(zhuǎn)換十六進制的完整C代碼
分享網(wǎng)址:http://aaarwkj.com/article10/jjgido.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、關(guān)鍵詞優(yōu)化、手機網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、定制網(wǎng)站、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)