【C++】十进制转化二进制,二进制转化十进制
生活随笔
收集整理的這篇文章主要介紹了
【C++】十进制转化二进制,二进制转化十进制
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
十進制轉化二進制
思路:設置數組a[]。
? ? ? ? ? 按十進制轉二進制的思路,把十進制的整數循環除以二取余數存進數組。
? ? ? ? ? 再運用for循環反向輸出取余的結果,即為二進制。
代碼:
#include<bits/stdc++.h>using namespace std; const int N=110; int a[N]; int main(){int n;cin>>n;int i=0;while(n>0){a[i]=n%2;i++;n /= 2;}for(int j=i-1;j>=0;j--){cout<<a[j];}return 0; }二進制轉化十進制
思路:二進制轉化為十進制的方法是:從最右邊最低位開始計算,依次往左邊的高位計算再累加。
如:1101=1*2的零次冪+0*2的一次冪+1*2的二次冪+1*2的三次冪.
位權概念:數中每一固定位置對應的單位值稱為位權。例如十進制第一位位權為0,第2位的位權為10,第3位的位權為100;而二進制第一位位權為0,第2位的位權為2,第3位的位權為4,第四位位權為8;對于 N進數,整數部分第 i位的位權為N^(i-1),而小數部分第j位的位權為N^-j。
代碼:
#include <bits/stdc++.h>using namespace std; const int N=10010; int a[N]; int main() {int n,sum=0,p=1; //n為二進制數,sum為每一位計算所加的和,p為位權cin>>n; while(n){sum+=(n%10)*p; p*=2; n/=10;} cout<<sum;}總結
以上是生活随笔為你收集整理的【C++】十进制转化二进制,二进制转化十进制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python爬取房价
- 下一篇: 嵌入式分享合集75