某公司面试题目。。

xiayule 2003-08-21 11:54:00
数据4600(十进制),其十六进制表示为0x1234,其二进制(低位在前)字符串为“0010110001001000”,其后的压缩BCD码字符串为“\0x60\0x46”

用标准c完成以下模块算法:
{singed int data;
char bin[17];
char bcd[3];
data= 0x0765; //data值不大于9999
//在屏幕输出data的十进制


tobin(data,bin); //在bin中生成data的二进制物流字符串
tobcd(data,bcd); //在bcd中生成data的bcd码字符串

void tobin(data,bin)


void tobcd(data,bcd)
...全文
70 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
leqian 2004-01-20
  • 打赏
  • 举报
回复
偶调试过的
void main()
{
unsigned int data=0x0765;
char bin[16];
char bcd[2];

void tobin(unsigned int data,char bin[16]);
void tobcd(unsigned int data,char bcd[2]);
tobin(data,bin);
tobcd(data,bcd);
}

void tobin(unsigned int data,char bin[16])
{
unsigned int tester=0x0001;

for(int i=0; i<16; ++i)
{
if(0==(data&tester))
bin[i]='0';
else
bin[i]='1';

tester<<=1;
}
}

void tobcd(unsigned int data,char bcd[2])
{
char temp0=data%10; //求个位
char temp1=(data/10)%10; //求十位
char temp2=(data/100)%10; //求百位
char temp3=data/1000; //求千位

bcd[0]=0;
bcd[1]=0;

bcd[0]=temp0+(temp1<<4);
bcd[1]=temp2+(temp3<<4);
}
jrhjrh 2003-08-22
  • 打赏
  • 举报
回复
:)
KimChen 2003-08-22
  • 打赏
  • 举报
回复
是能通过者很多~!
visio 2003-08-22
  • 打赏
  • 举报
回复
这就是面试题目,应聘者一定很多了
xiayule 2003-08-22
  • 打赏
  • 举报
回复
没有办法,谁让现在工作难找,谁让现在IT不景气!~`#@$%#$^#^&%$
jack_wq 2003-08-22
  • 打赏
  • 举报
回复
再深圳3k是穷人!
亮剑_ 2003-08-22
  • 打赏
  • 举报
回复
数制转换啊
xiayule 2003-08-22
  • 打赏
  • 举报
回复
在深圳,这几天过来还可以跟上,薪水不会低于3k
brucegong 2003-08-22
  • 打赏
  • 举报
回复






用数的计算来考试?这样的公司在哪儿呢?给多少钱?






kof99 2003-08-22
  • 打赏
  • 举报
回复
printf("%d",data);

void tobin(int data,char* bin)
{
int n = 2*8; //不大于9999,只有两个字节
int i;
for(i=0;i<n;i++)
{
if(data&1) bin[i]='1';
else bin[i]='0';
data >> 1;
}
}

紫郢剑侠 2003-08-22
  • 打赏
  • 举报
回复
UP

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧