老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)

c語言函數(shù)轉(zhuǎn)換十六進(jìn)制數(shù) c語言十進(jìn)制轉(zhuǎn)化為十六進(jìn)制

c語言編程 把十進(jìn)制轉(zhuǎn)換為十六進(jìn)制

方法一:

創(chuàng)新互聯(lián)建站主營河源網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,手機(jī)APP定制開發(fā),河源h5重慶小程序開發(fā)公司搭建,河源網(wǎng)站營銷推廣歡迎河源等地區(qū)企業(yè)咨詢

#includeiostream

#include string

using namespace std;

string DecIntToHexStr(long long num)

{ string str; long long Temp = num / 16; int left = num % 16; if (Temp 0) str +=

DecIntToHexStr(Temp); if (left 10) str += (left + '0'); else str += ('A' + left - 10); return str;}

string DecStrToHexStr(string str){ long long Dec = 0; for (int i = 0; i str.size(); ++i) Dec =

Dec * 10 + str[i] - '0'; return DecIntToHexStr(Dec);}int main()

{ string DecStr; while (cin DecStr) { cout "0x" + DecStrToHexStr(DecStr); } return 0;}

方法二:

#includeiostream

#include string

#includevector

#include sstream

#include math.h

using namespace std;int main()

{ string decStr; cin decStr; int num = stoi(decStr); vectorintv; while (num) { int bit = num % 2; v.push_back(bit); num = num / 2; }

reverse(v.begin(), v.end()); string hexStr; if (v.size() % 4 == 0) { for (int i = 0; i v.size() / 4; ++i) { int temp = 0, k = 3; for (int j = i * 4; j (i +

1) * 4; ++j) { if (v[j] == 1) temp += pow(2, k); --k; }? ?if (temp = 9) hexStr += temp; else hexStr += ('A' + temp - 10); } }

else { int zeroNum = 4 - v.size() % 4; for (int i = 0; i zeroNum; ++i) v.insert(v.begin(), 0); for (int i = 0; i v.size() / 4; ++i) { int temp = 0, k = 3; for

(int j = i * 4; j (i + 1) * 4; ++j) { if (v[j] == 1) temp += pow(2, k); --k; }

if (temp = 9) { stringstream ss; string strTemp;

ss temp; ss strTemp; hexStr += strTemp; } else hexStr += ('A' + temp - 10); } } cout hexStr endl; return 0;}

擴(kuò)展資料:

還有3種方式可以實(shí)現(xiàn),其中兩種是使用系統(tǒng)函數(shù),另一種是直接自己編寫。

下面的代碼就是3種方式的實(shí)現(xiàn),包括2位的整數(shù)和任意整數(shù)(2的31次方以內(nèi))都可以??勺约哼x擇需要的實(shí)現(xiàn)方式。

利用系統(tǒng)函數(shù)有

1. char *? itoa ( int value, char * str, int base );value是要轉(zhuǎn)化的數(shù)字,str是轉(zhuǎn)化后的字符串存儲(chǔ)的位置,base是進(jìn)制數(shù)(但是這個(gè)函數(shù)不是標(biāo)準(zhǔn)C函數(shù),有些編譯器是不支持的?。?。所以代碼可以為:

char buffer [33]; //用于存放轉(zhuǎn)換好的十六進(jìn)制字符串,可根據(jù)需要定義長度 char * inttohex(int aa){? ? itoa (aa, buffer, 16);? ? return (buffer);}

2. sprintf(str,"%x",value);str是轉(zhuǎn)化存儲(chǔ)的位置,%x表示十六進(jìn)制格式,value是要轉(zhuǎn)化的數(shù)字。所以代碼可以為:

char buffer [33]; //用于存放轉(zhuǎn)換好的十六進(jìn)制字符串,可根據(jù)需要定義長度 char * inttohex(int aa){? ? sprintf(buffer, "%x", aa);? ? return (buffer);}

3. 自己編寫

如果參數(shù)只要兩位數(shù)的整數(shù),那么很簡單。

代碼如下:

#include stdio.h#include stdlib.h char buffer [33]; //用于存放轉(zhuǎn)換好的十六進(jìn)制字符串,可根據(jù)需要定義長度 char * inttohex(int aa)

{? ? sprintf(buffer, "%x", aa);? ? return (buffer);} int main ()? ? ? ? ? ? ?

{? int num;? char * hex_str;? printf ("Enter a number: ");? scanf ("%d",num);? hex_str = inttohex (num);? printf ("Hexadecimal number: %sH\n", hex_str);? return 0;}

C語言編程:怎么把一個(gè)十進(jìn)制數(shù)轉(zhuǎn)換成為一個(gè)十六進(jìn)制數(shù)?

第一種:用來糊弄老師的,輸入一個(gè)數(shù)采用16進(jìn)制格式輸出

#include stdio.h

int main()

{

int num = 0;

scanf("%d", num);

printf("%x", num);

return 0;

}

第二種:

#include stdio.h

#include string.h

char oNumTable[6] = {'A', 'B', 'C', 'D', 'E', 'F'};

void dToO(int, char*);

int main()

{

int dNum;

char oNum[100] = {0};

//輸入一個(gè)十進(jìn)制數(shù)

scanf("%d", dNum);

//調(diào)用轉(zhuǎn)換函數(shù),將十進(jìn)制轉(zhuǎn)換成以字符串表示的十六進(jìn)制

dToO(dNum, oNum);

//輸出以字符串表示的16進(jìn)制數(shù)據(jù)

printf("%s\n", oNum);

return 0;

}

void dToO(int dNum, char* oNum)

{

char temp[100] = {0};

for (int i = 0; (dNum) (i 100) ; i++) {

temp[i] = (dNum % 16);

if (temp[i] 9) {

temp[i] = oNumTable[temp[i] - 10];

}

else{

temp[i] += '0';

}

dNum /= 16;

}

char* p = temp;

while (*(p+1)) p++;

for (int i = 0; p != temp - 1; i++, p--) {

oNum[i] = *p;

}

}

用C語言如何把十進(jìn)制轉(zhuǎn)換為十六進(jìn)制,要求程序中運(yùn)用函數(shù)

**

程序功能:求二進(jìn)制,十進(jìn)制,八進(jìn)制

創(chuàng)建人:蒲宇林

創(chuàng)建日期:2007年8月13日

**/

#include

void

two();

void

eight();

void

sixteen();

/**主函數(shù)**/

void

main()

{

int

select;

do

{

printf("0

-

退出,1

-

十進(jìn)制轉(zhuǎn)二進(jìn)制,2

-

十進(jìn)制轉(zhuǎn)八進(jìn)制,3

-

十進(jìn)制轉(zhuǎn)十六進(jìn)制");

scanf("%d",select);

switch(select)

{

case

1

:

two();

break;

//十進(jìn)制轉(zhuǎn)二進(jìn)制

case

2

:

eight();

break;

//十進(jìn)制轉(zhuǎn)八進(jìn)制

case

3

:

sixteen();

break;

//十進(jìn)制轉(zhuǎn)十六進(jìn)制

default

:

printf("您的輸入有誤,請(qǐng)重新輸入!");

break;

}

if(select

==

0)

{

break;

}

}while(1);

}

void

two()

{

int

num,

i;

int

arr[20];

printf("\n請(qǐng)輸入一個(gè)十進(jìn)制數(shù):");

scanf("%d",num);

for(

i

=

;

1

;

i++)

//轉(zhuǎn)換為二進(jìn)制并存入數(shù)組

{

arr[i]

=

num

%

2;

num

=

num

/

2;

if(num

==

0)

{

break;

}

}

printf("轉(zhuǎn)換為二進(jìn)制:");

//打印

for(;

i

=

;

i--

)

{

printf("%d",arr[i]);

}

printf("\n");

}

void

eight()

{

int

num,

i;

int

arr[20];

printf("\n請(qǐng)輸入一個(gè)十進(jìn)制數(shù):");

scanf("%d",num);

for(

i

=

;

1

;

i++)

//轉(zhuǎn)換為八進(jìn)制并存入數(shù)組

{

arr[i]

=

num

%

8;

num

=

num

/

8;

if(num

==

0)

{

break;

}

}

printf("轉(zhuǎn)換為八進(jìn)制:");

//打印

for(;

i

=

;

i--

)

{

printf("%d",arr[i]);

}

printf("\n");

}

void

sixteen()

{

int

num,

i;

int

arr[20];

printf("\n請(qǐng)輸入一個(gè)十進(jìn)制數(shù):");

scanf("%d",num);

for(

i

=

;

1

;

i++)

//轉(zhuǎn)換為二進(jìn)制并存入數(shù)組

{

arr[i]

=

num

%

16;

num

=

num

/

16;

if(num

==

0)

{

break;

}

}

printf("轉(zhuǎn)換為十六進(jìn)制:");

//打印

for(;

i

=

;

i--

)

{

switch(arr[i])

{

case

10

:

printf("a");

break;

case

11

:

printf("b");

break;

case

12

:

printf("c");

break;

case

13

:

printf("d");

break;

case

14

:

printf("e");

break;

case

15

:

printf("f");

break;

default

:

printf("%d",arr[i]);

}

}

printf("\n");

}

C語言調(diào)用函數(shù)編寫把十進(jìn)制整數(shù)n轉(zhuǎn)換成十六進(jìn)制怎么編程?

思路:十進(jìn)制整數(shù)轉(zhuǎn)換為十六進(jìn)制整數(shù)采用"除16取余,逆序排列"法。

具體做法是:用16整除十進(jìn)制整數(shù),可以得到一個(gè)商和余數(shù);再用16去除商,又會(huì)得到一個(gè)商和余數(shù),如此進(jìn)行,直到商為0時(shí)為止,然后把先得到的余數(shù)作為十六進(jìn)制數(shù)的低位有效位,后得到的余數(shù)作為十六進(jìn)制數(shù)的高位有效位,依次排列起來。

參考代碼:

#include?"stdio.h"?

int?main()?

{?

int?num,a[100],i=0,m=0;?

char?hex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

scanf("%d",num);?

while(num0)?

{?

a[i++]=num%16;?

num=num/16;?

}?

printf("轉(zhuǎn)化為十六進(jìn)制的數(shù)為:");?

for(i=i-1;i=0;i--)//倒序輸出?

{?

m=a[i];

printf("%c",hex[m]);?

}?

printf("\n");?

}

/*

運(yùn)行結(jié)果:

17

轉(zhuǎn)化為十六進(jìn)制的數(shù)為:11

*/

在c語言中用最簡單的方法把十進(jìn)制轉(zhuǎn)化為十六進(jìn)制

代碼如下:

#include?"stdio.h"?

int?main()?

{?

int?num=0;

int?a[100];?

int?i=0;?

int?m=0;

int?yushu;?

char?hex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

printf("請(qǐng)輸入一個(gè)十進(jìn)制整數(shù):");?

scanf("%d",num);?

while(num0)?

{?

yushu=num%16;?

a[i++]=yushu;?

num=num/16;?

}?

printf("轉(zhuǎn)化為十六進(jìn)制的數(shù)為:0x");?

for(i=i-1;i=0;i--)//倒序輸出?{

m=a[i];

printf("%c",hex[m]);?

}?

printf("\n");?

}

程序運(yùn)行結(jié)果:

擴(kuò)展資料

C語言中,十進(jìn)制轉(zhuǎn)換十六進(jìn)制,可以先輸入十進(jìn)制整數(shù),然后去拼十六進(jìn)制,十六進(jìn)制由數(shù)字 0~9、字母 A~F 或 a~f(不區(qū)分大小寫)組成,使用時(shí)必須以0x或0X(不區(qū)分大小寫)開頭,只需把二進(jìn)制除以16得到余數(shù)去上面定義的hex[16]數(shù)組進(jìn)行取值接可以得到轉(zhuǎn)換的數(shù)字。

參考資料:百度百科-十六進(jìn)制


分享標(biāo)題:c語言函數(shù)轉(zhuǎn)換十六進(jìn)制數(shù) c語言十進(jìn)制轉(zhuǎn)化為十六進(jìn)制
網(wǎng)站URL:http://www.xueling.net.cn/article/dooigeh.html

其他資訊

在線咨詢
服務(wù)熱線
服務(wù)熱線:028-86922220
TOP
主站蜘蛛池模板: 美女视频免费看黄的 | 又黄又爽又猛1000部A片 | 亚洲综合日韩精品欧美国产 | 中国三级在线 | 欧美黑人xxxx性高清版 | 无码性按摩AV在线观看 | 国产在线毛片 | 无遮挡h肉动漫在线观看 | 亚洲ΑV无码一区二区三区四区 | 三级精品在线 | 欧美顶级毛片在线播放 | 日韩精品一区二区三区外面 | 欧美日韩免费一久久亚洲色WWW成人小说 | 日韩精品亚洲Aⅴ在线影院 暖暖视频免费高清日本 | 猫咪成人 | 久在线免费视频 | 色欲av自慰一区二区三区 | 国产精品嫩草影院奶水 | 日韩三级国产 | 98色婷婷在线 | 夜夜爽日日澡人人添小说 | 国产乱人伦AV在线麻豆A | 国产乱码久久久久久 | 国产成人精品热玖玖玖 | 91香蕉视频在线 | 中文字幕一区二区三区久久 | 国产成人精品无码片区 | 日本精品啪啪一区二区三区 | 国产欧美色一区二区三区 | 977精品视频在线观看 | 色花av | yellow免费观看网站 | 国产成人高清亚洲明星一区 | 九九影院理论片在线观看一级 | 欧美一级在线播放 | 国产精品久久免费看 | 欧美性大战久久久久久久蜜桃 | 国内毛片久久 | 日韩av免费一区 | www.日韩.com| 午夜香吻免费观看视频在线播放 |