- int main() {
- int num = 0;
- printf("请输入一个整数:\n");
- scanf("%d",&num);
- // 如果是正数
- if (num >= 0) {
- for (int i = -1; i < 31 ; i++) {
- if ((i+1)%8 == 0) {
- printf(" ");
- }
- int changeNum = num << i;
- //
- printf("%d",((changeNum)&1073741824)/1073741824);
- }
-
- }
- else{
- // 如果是负数
- num = 0-num;
- for (int i = -1; i < 31 ; i++) {
- if ((i+1)%8 == 0) {
- printf(" ");
- }
- // 第一个数字改成 1,并跳出循环
- if (i == -1) {
- printf("1");
- continue;
- }
- int changeNum = num << i;
- //1073741824 = 2的31次方
- printf("%d",((changeNum)&1073741824)/1073741824);
- }
- }
- return 0;
- }
复制代码 |
|