⑴ 十進制如何轉二為二進制(c語言)
c語言編程將十進制轉化為2進制可按手工轉換規則進行程序轉換。
整數佔四個位元組,每位元組8位,共32位。所以,可以定義一個32位的數組來存儲轉換結果。
循環將整數進行除2取余數,余數存儲到數組中。
當整數整除為0時,結束循環
逆序輸出數組,得到轉換結果
參考代碼:
#include <stdio.h>
void main()
{
int c[32],i=0,n;
scanf("%d", &n) ; //輸入待轉換整數n
do {
c[i++]=n%2;
n/=2;
} while(n!=0) ;
for(i--;i>=0;i--)
printf("%d",c[i] );
printf("\n");
}
⑵ 求高手指點,在C語言的編程中,如何實現十進制的負整數轉換成二進制
負數在計算機內部是用補碼表示的
例如 -1
1的原碼是 0000 0001
則-1的反碼是 1111 1110
補碼是 1111 1111
所以 -1在計算機中表示為 1111 1111
二進制數中有符號數有符號位,該符號位為1表示是負數
比如:
11111111,如果是無符號數那麼就代表:255,如果是有符號數就代表負127,最高位是符號位,為1,代表是負數,剩下的7位代表具體數值