1樓:
等一下,給你完整程式。
以下程式經過除錯成功,你自己也試試。基本思想是:用字元陣列儲存10進位制數字,先將10進位制再轉換為2進位制,再通過2進位制轉換為16進位制。
這裡先轉換為2進位制的原因是進行除2運算要相對容易一些,且2進位制轉換為16進位制以及8進位制都是很方便的。當然你也可以直接對16進行整除求餘得到結果。
參考程式如下:
#include "stdio.h"
#include "string.h"
#define n 200
#define m 10000
void div(char s1,char s2)//s1整除2,商放入s2中
else
s16[j++]=s[t];
}for(i=len%4;i
s16[j]=0;
}void main()
while(num[0]!='0');
two[i]=0;
for(j=0,k=i-1;j
convert2to16(two,sixteen);//將二進位制轉換為16進位制
printf("對應的16進位制數為:\n");
puts(sixteen);}
2樓:匿名使用者
這麼大的數考慮用字串存放,輸出也用字串輸入字串為srcstr,長度為len,輸出字串為dststrchar srcstr[64],dststr[64];
int len,dstlen;
輸入略過...
dstlen = 0;
*dststr++ = '0'; *dststr++ = 'x';
dstlen += 2;
while (len--)
*dststr = null;
3樓:春雨_潤物
你是不是想把這個十六進位制數以字元陣列的形式儲存在陣列裡?
int a,d=0,b[1000];
char c[1000];
cin>>a;
}for(int i=0;i<=d;i++)}這個我沒有寫好,主要是全寫出來太麻煩,其實a也應該是一個陣列的,改的時候只需將輸入的數化為字元陣列形式後再將for迴圈中的條件改一下就行了。
4樓:
c語言有自帶的轉換,看我:
int a;
scanf("%d",&a);
printf("%x",a);
printf("%o",a);
/*%o為八進位制輸出
%x為十六進位制輸出*/
5樓:匿名使用者
這種事情一般用一個陣列來做, 但是怎麼做方便還是要看具體需求, 要麼方便輸入,要麼方便輸出
如果你想方便輸出的話, 可以在陣列裡儲存16進位制形式。 3位10進位制數要用10位2進位制儲存,所以200位大約需要670位2進位制, 用unsigned int thenumber[21]差不多就夠了
然後輸入的時候從前到後每輸入一位要對整個陣列做乘10再加上末位的運算, 為了考慮進位,應該注意用64位整數做運算而不要在原地運算(原地運算的話溢位部分就找不回來了,當然你也可以每個int32少存幾位資料保證它不溢位,但是還是要調整進位)。 當然更有效率一點的做法是每次多讀幾位什麼的
這樣輸出就簡單了,挨個int按16位列印出來就好了
6樓:匿名使用者
首先你要知道如何表示這個大整數,因此需要定義這樣一個大整數,然後可以對它定義加減乘除等四則運算。當然,以幾進位制輸出是格式問題,很簡單。如果需要,我可以將大整數的標頭檔案發給你,如果你已經有了,可以按16進位制的格式輸出
7樓:匿名使用者
電腦自帶的計算器就可以轉換
開始-程式-附件-計算器 -檢視 科學性
8樓:
大學學過忘了,哎!大學就像浮雲一樣的好過!
如何把一個10進位制數轉換成16進位制數
9樓:隔壁的蟲子
一種是採用除16求餘法,還有就是先把十進位制轉二進位制再轉十六進位制。分別舉個例子:
1.除16求餘
115轉十六進位制 115/16 商是7 餘數是3.用7再除16,商是0,餘數是7
故結果是73
2.先轉二進位制再轉十六進位制
115的二進位制是1110011,整數部份從最低有效位開始,以4位為一組,最高有效位不足4位時以0補齊,每一組均可轉換成一個十六進位制的值,轉換完畢就是十六進位制的整數。
0111 0011
7 3
結果73
10樓:
最少2種方法,一種是端除,一種是用計算器..
端除就是以16為除數取餘數.....倒取於.
比如:25d(十進位制)---->
25/16 上的是1 是9 所以十六進位制是1916|25
16|1 .......9
16|0 .......1
自己看咯..還有一種是用計算器啊..裡面"檢視"選單下不是有個"科學型"選項麼? 裡面倒那個裡面敲看看.....要懂得資源利用,微軟給了 就不要浪費自己的腦細胞....
c語言將一個十進位制的整數轉換成十六進位制的字串
11樓:匿名使用者
要轉成字串來
其實不需自要自己寫多少程式bai 借用sprintf就可以du了char s[20];
int a;
scanf("%d",&a);
sprintf(s, "%x", a);
這樣 s中就是
zhia的16進位制字元dao串了。
12樓:聽不清啊
#include
#include
int main()
;scanf("%d",&n);
sprintf(s,"%x",n);
printf("%d=%sh\n",n,s);
return 0;}
13樓:匿名使用者
要轉成字串bai
其實不需du要自己寫zhi多少程式 借用sprintf就可以dao了
char s[20];
int a;
scanf("%d",&a);
sprintf(s, "%x", a);
這樣 s中就版是a的16進位制字串了。權
sql中如何將一個十進位制數轉換成16進位制數,然後只顯示16進位制數的整數部分
14樓:匿名使用者
select replace(ltrim(replace(replace((
master.dbo.fn_varbintohexstr(cast(
convert(bigint, col1) as binary ))collate latin1_general_ci_as_ks_ws ),0,' '),'x',' ')),' ','0')
from table
將一個十進位制整數轉換成2、8、16進位制字串的程式
15樓:
'轉換成二進位制字串
public function getbinary(byval dec as integer)
dim str_b as string
str_b = ""
do while dec > 0
str_b = trim(str(dec mod 2)) + str_b
dec = int(dec / 2)
loop
getbinary = str_b
end function
'轉換成八進位制字串
public function getoctal(byval dec as integer)
dim str_o as string
str_o = ""
do while dec > 0
str_o = trim(str(dec mod 8)) + str_o
dec = int(dec / 8)
loop
getoctal = str_o
end function
'轉換成十六進位制字串
public function gethex(byval dec as integer)
dim str_h as string
dim tmp as string
str_h = ""
do while dec > 0
ram = dec mod 16
select case ram
case 10
tmp = "a"
case 11
tmp = "b"
case 12
tmp = "c"
case 13
tmp = "d"
case 14
tmp = "e"
case 15
tmp = "f"
case else
tmp = trim(str(ram))
end select
str_h = tmp + str_h
dec = int(dec / 16)
loop
gethex = str_h
end function
16樓:覃松濤
#include
using namespace std;
int a[100];
void func2(int x)//x此處是10進位制數,轉化成二進位制
for(int k=i-1;k>=0;k--)
17樓:影孤清
如果你只是要將一個數轉換成2.8.16進位制的數就不需要用函式了.只要用輸出格式就行了.
例如:main()
這樣就能將16這個十進位制數轉換成八進位制的了.
十六進位制的為x.但對於二進位制的我也不知道,希望有高手能說一下,我也是c語言初學者.
大神幫忙解釋一下啊!輸入一個十進位制正整數,將其轉換成16進位制並輸出。
18樓:匿名使用者
int i,p,n;
int number[40];
scanf("%d",&n); //原題bai這兒少了一個分號
dup=-1;
while(n!=0) //(27)選d //採用的轉zhi換方法叫:除模取餘倒dao著讀,
內和短除法分解容質因數類似
for(i=p;i>=0;i--)
printf("\n");
return 0;
19樓:析閒平湛藍
原題這兒少了一個分號 p=-1; while(n!=0) //(27)選
d //採用的轉換方法叫:除模取餘倒著讀,
版和短除法分解權質因數類似 for(i=p;i>=0;i--) printf("\n"); return 0;
如何將2進位制10110010轉換成8進位制和16進位制的
化成8進位制 從右向左每抄三位為一組,最左邊bai不夠du三位在左側補0 最右 010 即0 2 zhi0 1 2 1 0 2 2 2中間 110 即0 2 0 1 2 1 1 2 2 6左邊dao 010 0 2 0 1 2 1 0 2 2 2則化成8進位制後的數為2 左 6 中 2 右 262化...
如何將PDF轉換成版本,如何將PDF轉換成WORD版本
我們來看一下具體操作方法 3.進入下一個介面之後,我們在上方各種功能選項內選擇 pdf轉word 的頁面,單擊新增檔案將自己需要轉換成word的pdf檔案選中,單擊開啟。或者選擇將需要轉換成word的pdf檔案選中後拖拽進軟體頁面中。4.在我們將pdf轉換成word進行轉換之前我們要先調整一下輸出目...
c中如何將整數轉換成十六進位制的字串
1 首先開啟vc6.0,新建一個專案。2 新增標頭檔案。3 新增main主函式。4 定義無符號char型別變數str,strh。5 定義int變數i,j。6 將str字元轉換為十六進位制並新增到strh中。7 使用printf列印即可。用字串流就可以。include include std stri...