您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“C++中讀入數字按位取出與進制轉換的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“C++中讀入數字按位取出與進制轉換的示例分析”這篇文章吧。
典型問題——讀入數字按位取出。
就拿數字12345舉例吧。
是首先,我們要取出個位。這樣取出:
12345/1=12345
12345%10=5. //為了好發現規律
這樣我們就有了它的個位。十位是這樣:
12345/10=1234
1234%10=4.
同理,百位:
12345/100=123
123%10=3.
于是可以發現,取出哪一位,就是要先將原數除以這一位的位名,再模10.
程序:
#include<iostream> #include<cmath> using namespace std; int main() { int a[100]; int wei = 0; int num; cin >> num; while ((num / (int)pow(10, wei)) != 0) //循環終止條件是這個數的位數小于這一次要除以的數的位數 { a[wei] =(num/(int)pow(10,wei))%10; //根據剛才得出的結論,取出各位,存到數組中。 wei++; } }
然后是進制轉換問題。其實和取位問題差不多,只不過取出之后要乘上這一位對應的進制的次方數。
程序:
long long to10(int jz,int num)//功能:將輸入的數轉換成十進制 { long long result=0; int wei=0; while(num/(int)pow(10,wei)!=0)//將輸入的數按位取出 { result+=pow(jz,wei)*((int)(num/pow(10,wei))%10);//按數所在的位置乘上對應的進制的次方 wei++; // (num/1)%10 // (num/10)%10 // (num/100)%10 } return result; }
以上是“C++中讀入數字按位取出與進制轉換的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。