c语言32位二进制,C语言:一数组中有24个十六进制整数,以二进制输出到屏幕上(每行二个32位),咋写?...

为简化代码,这里原数据选择用rand函数自动生成。解决思路是无论说是什么进制,内存中都是二进制存储的,设法把它原样打出来即可——

15ea031cec69dc7bceffe02601fbc53b.png

#include "stdio.h"

#include

#include "time.h"

#define N 24

void showbinary(int *p,int n){//二进制输出函数

int i,j,k;

char *q;

for(i=0;i

for(q=(char *)p+3,j=0;j<4;j++,q--)

for(k=0x80;k;k>>=1)

putchar(!!(*q&k)+'0');

putchar(i&1 ? '\n' : ' ');

}

}

int main(int argc,char *argv[]){

int a[N],i;

srand((unsigned)time(NULL));

puts("The original data:");

for(i=0;i

printf((i+1)%6 ? "%9X" : "%9X\n",a[i]=rand()*65536+rand());

if((i)%6)

putchar('\n');

puts("\nBinary output:");

showbinary(a,N);

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值