進制轉換源碼
㈠ 將十進制數-68轉化為二進制下的源碼、反碼、補碼
68的二進制是0100
0100,首位是符號號,負號為1所以-68
原碼:1100
0100負數的反碼是原碼符號號不變,其它位取反:10111011負數的補碼是反碼尾加1,所以補碼:10111100
(1)進制轉換源碼擴展閱讀
二進制數除法與十進制數除法很類似。可先從被除數的最高位開始,將被除數(或中間余數)與除數相比較,若被除數(或中間余數)大於除數,則用被除數(或中間余數)減去除數,商為1,並得相減之後的中間余數,否則商為0。
再將被除數的下一位移下補充到中間余數的末位,重復以上過程,就可得到所要求的各位商數和最終的余數。
㈡ C語言十進制轉十六進制數
C語言十進制轉十六進制數的源代碼如下:
#include<bits/stdc++.h>
using namespace std;
void IntZh0x(int n)
{int s=n%16;
if(n/16!=0) IntZh0x(n/16);
if(s>9)
{
if(s==15) cout<<"F";
else if(s==14) cout<<"E";
else if(s==13) cout<<"D";
else if(s==12) cout<<"C";
else if(s==11) cout<<"B";
else if(s==10) cout<<"A";
}
else cout<<s;
}
int main(){
int n;
cin>>n;
IntZh0x(n);
return 0;
}
(2)進制轉換源碼擴展閱讀
1、十六進制數轉換成十進制數解,其值為各個位碼乘以位權然後完全相加。
2、十六進制就是把 4 個二進制位組合為一位來表示,每一位有0b0000 ~ 0b1111 共 16 個值,用 0 ~ 9 再加上 A ~ F(或 a ~ f)表示,那麼它自然就是逢十六進位,它本質上同二進制是一樣的,是二進制的一種縮寫形式。