一个把整数32位列出来

#include<stdio.h>
int bit32(int a)

    int i;
    unsigned b,a1[32];
    for(i=0;i<32;i++)
    {
    b=a;                                               //把有符号整型转换成无符号整型,位运算需要无符号整型
    b<<=31-i;                                      //先向左移动31-i位
    b>>=31;
    a1[i]=b;
     }
    do
    {
      printf("%u",a1[i-1]);         
      i--;
     }
 
    while(i>0); 
    printf("/n");     
}
int main(void)
{
      int testdata;
loop: printf("pls input your data:/n");
      scanf("%d",&testdata);
      bit32(testdata);
      getchar();                                           //吸收enter
      goto loop;                                          //这是循环输入
    }

 

 

把所有的类型的二进制码正确的打印出来。

还有字符型,实型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要将一个整数的每一位取出来,我们可以使用以下步骤: 1. 用整数除以10,得到商和余数。例如,整数123除以10,商为12,余数为3。 2. 把余数记录下来,它就是这个整数的个位数。例如,余数3就是123的个位数。 3. 把商作为新的整数,继续执行步骤1和步骤2,直到商为0为止。 例如,对于整数123,可以按照以下步骤来取出每一位: 1. 123除以10,商为12,余数为3,记录下余数3。 2. 用商12继续执行步骤1和步骤2: 1. 12除以10,商为1,余数为2,记录下余数2。 2. 用商1继续执行步骤1和步骤2: 1. 1除以10,商为0,余数为1,记录下余数1。 3. 商为0,停止计算。 因此,123的每一位分别是1、2、3。 ### 回答2: 要把一个整数的每一位取出来,可以使用数学的方法来实现。 首先,我们可以先将整数转化为字符串类型,方便对其进行操作。然后,可以利用字符串的索引来逐位取出数字。 具体操作步骤如下: 1. 将整数转化为字符串,例如通过str()函数。 2. 使用for循环或者遍历字符串的方法,对每个字符进行处理。 3. 对于每个字符,可以通过int()函数将其转化为整数类型,以便进一步操作和运算。 以下是一个示例代码来实现上述步骤: ``` num = 123456789 num_str = str(num) # 将整数转化为字符串 result = [] # 用于存储每位数字 for digit in num_str: result.append(int(digit)) # 将每个字符转化为整数,并添加到结果列表中 print(result) # 输出结果列表,即为每位数字 ``` 以上代码将输出:[1, 2, 3, 4, 5, 6, 7, 8, 9],即为整数123456789的每位数字。 请注意,上述代码适用于非负整数,对于负数的处理稍有不同,需要额外判断符号位。另外,如果整数中包含前导零,可以根据需求进行去除或保留处理。 ### 回答3: 将整数转换为字符串,然后遍历字符串的每个字符,将每个字符转换为数字即可取出整数的每一位。具体步骤如下: 1. 将整数转换为字符串。 2. 循环遍历字符串的每个字符。 3. 将每个字符通过内置函数或方法转换为对应的数字。 4. 将转换后的数字存储到一个容器中,如列表或数组。 5. 循环结束后,容器中存储的数字即为整数的每一位。 以下是一个示例代码实现: ```python def extract_digits(num): # 将整数转换为字符串 num_str = str(num) digits = [] # 遍历字符串的每个字符 for c in num_str: # 将字符转换为数字并存储到容器中 digit = int(c) digits.append(digit) return digits # 测试 num = 12345 result = extract_digits(num) print(result) # 输出 [1, 2, 3, 4, 5] ``` 通过将整数转换为字符串,然后遍历字符串的每个字符并转换为数字,我们可以提取出整数的每一位。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值