進製轉化(尤其是負進製)

2021-07-10 10:25:04 字數 686 閱讀 4840

現在在noip的系列題上做到過進製轉化的問題,一直沒時間去搞明白,今天總算弄清楚了。

123可表示為 1*102+2*101+3*100 這樣的形式。

分四種情況

1。十進位制數是正數,基數是正數(這種情況最容易)

2。十進位制數是正數,基數是負數

3。十進位制數是負數,基數是正數(這種情況可以排除,具體請自己思考)

4。十進位制數是負數,基數是負數

因此當時考慮問題時,每次操作剩餘數必然會存在乙個取模的過程。

實際操作也是類似,而且正是這樣操作的。

操作1。如果除餘的數是負數,那麼對除餘的數加上基數的絕對值,如果是正數無操作

操作2。每次將帶轉化的十進位制數減去剩餘數,再除以基數

**如下

#include#define max 10000

using namespace std;

int ans[1005];

int start;

char str = "0123456789abcdefghijklnnopqrstuvwxyz";

int main()

//cout<0; i--)

printf("\n");

//printf("(base%d)\n", base);

}return 0;

}

各位大神求解(尤其是ls)

這題為什麼錯了ma rshm ello m ar shme ll o n printf 計算機 int q,x,y,z,a,n,e,c,k,o,b,f,g,w,d,h,r,i,m printf 請問是否要啟動本計算機 n如果不是,請輸入1,如果是,請輸入2 n scanf d q if q 1 if...

題解 負進製

借助於對數字理論的研究,奶牛們打算建立一套計數系統。它們打算建立的計數系統是二進位制的,但基數為 2,而 不是 2。另它們非常高興的是,使用 2作為基數表示數字不需要符號位。我們知道進製數每位的權 從右到左 分 別為1 基數的0次方 基數1,基數2,等等。基數為 2的情況下,每位的權分別為1,2,4...

數論 負進製轉換

首先需要明白正進製的轉換,比如7轉換成二進位制,那麼7 2 3餘1,3 2 1餘1,1 2 1餘0,所以7的二進位制就是倒著寫餘數0111 那麼如果 7轉換成 2進製呢,因為 7 2 3餘 1,所以我們這個 1沒法處理,所以我們需要乙個看起來很簡單但是想不到的轉換公式 商 1 除數 餘數 除數 商 ...