確定進位 C 求解!!!!!!!

2025-03-23 22:25:16 字數 2150 閱讀 6472

1樓:兔子和小強

/計算s中最大的數。

int strmax(char *s)

int max = 0',i;

for(i=0; s[i]; i++)

if(max < s[i])max = s[i];

return max-'0';

計算s(n),n進位對應的s的值。

int val(char *s,int n)int i,t = 0;

for(i=0; s[i]; i++)

t = t*n + s[i]-'0';

return t;

計算p(n)*q(n)-r(n)

int cal(char *p,char *q,char *r,int n)

return val(p,n)*val(q,n)-val(r,n);

int xf(char *p,char *q,char *r)int low = max(max(strmax(p),strmax(q)),strmax(r))+1,//low是最小進位。

high,mid,tlow,thigh,tmid;

tlow = cal(p,q,r,low);

if(tlow ==0)

return low;

查簡純禪找區間[low 2*low],使得目攔塵標進位落在區間內。

for(thigh = cal(p,q,r,2*low); tlow*thigh>0;)

if(abs(thigh) >abs(tlow))return 0;

if(thigh ==0)

return 2*low;

low = 2*low;

tlow = thigh;

thigh = cal(p,q,r,2*low);

二分法查褲指找目標進位。

high = 2*low;

while(low < high)

mid = low+high)/2;

tmid = cal(p,q,r,mid)*tlow;

if(tmid ==0)

return mid;

else if(tmid*tlow < 0)high = mid;

else low = mid;

return low;

你看看,不知道行不行。

進位轉換問題!!!

2樓:匿名使用者

b的ascii碼為1000010,f在b的後面4位,又4的ascii碼為100

所以 f的 ascii碼的二進位為1000010 + 100 = 1000110

轉換成16進位 = 46

演算法:1000110按照8421轉換後面4位(0110)為6 ,前面3位(100)為4

合起來為46

進位…!!!!

3樓:網友

31021,反覆除以5取餘數。

2011/5=402餘1

402/5=80餘2

80/5=16餘0

16/5=3餘1

3/5=0餘3

2202111,反覆除以3取餘數。計算同上。

4樓:網友

除以5取餘,2011/5=402餘1,402/5=80餘2,80/5=16餘0,16/5=3餘1,3/5餘3

結果是從低到高的餘數31021

某進位轉換 急!!!!!!!!!!

5樓:網友

設x進位。

20(d)=x+4

x=16 16進位。

35/16=2餘3

剩下的自己就能算了吧。

6樓:芒彼愛桃貓

所以4個4相當於10,可以推出為16進位。

35)轉換成16進位。

所以答案為23

進位轉換,急!!!!!!!!!!!!!!!!!!!!

7樓:網友

e(1110)7(0111)激扮5(0101).d(1101)4(0100)凱卜。

合起來就是你的盯鉛穗結果:

8樓:網友

不太清楚,你可以到上搜一下啊!

C如何在十進位制整數前面加,C如何在十進位制整數前面加一個

你是要在輸出的時候,比如10,顯示為010嗎?兩種方法,如果你知道你的數是多少位的,那麼 printf 0nd 即可。n代表位數 如果不知道是多少位,那就轉換成字串,然後再前邊加0輸出。不能加0阿,前面加0表示這是一個八進位制的數.在c 程式設計裡,怎麼讓不足十的數前補0 printf 2d 2d ...

C十六進位制求和C兩個十六進位制數相加

include stdio.h void main 對應不同型別資料的輸出,類似於輸入函式,c語言用不同的格式字元描述。d 以帶符號的十進位制整數形式輸出整數 正數不輸出符號 o 以無符號八進位制整數形式輸出整數 不輸出前導符o x 以無符號十六進位制整數形式輸出整數 不輸出前導符ox u 以無符號...

c語言中十六進位制和八進位制的格式,c語言裡面 d是十進位制 o是八進位制 x是十六進位制 多少是二進位制

八進位制八進位制由 0 7 八個數字組成,使用時必須以0開頭 注意是數字 0,不是字母 o 例如 int a 015 換算成十進位制為 13int b 0101 換算成十進位制為 65int c 0177777 換算成十進位制為 65535十六進位制 十六進位制由數字 0 9 字母 a f 或 a ...