| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1728 人关注过本帖, 1 人收藏
标题:有三个功能请求高手能提供点意见
只看楼主 加入收藏
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10540
专家分:42927
注 册:2014-5-20
收藏
得分:0 
以下是引用wube在2017-1-18 12:59:54的发言:


    也差太多了吧,居然能写得那么简单,MSB和LSB切换只需一行...

    0x64,0x00,0x00,0x00 只是这几个字写法的原理看不太懂

   

是这句吗?
sprintf(buf, "%c%c%c%c", 0x64,0x00,0x00,0x00);
题目说的文档数据 64 00 00 00,就是说文档载入后的4个字节数值分别是0x64,0x00,0x00,0x00(16进制表示)。
buf可以理解为文档数据的缓存区。
2017-01-18 14:34
kin3z
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:157
专家分:390
注 册:2011-4-24
收藏
得分:0 
昨晚看后,突然想起这个其实就是共同体的功能,现贴出实现代码。不过还是觉得吹版主的代码比较老练与优美。
程序代码:
#include <stdio.h>

//这里就是共同体,用法与结构体一个样
union data{
    int a;
    short int b;
    char c[10];
};

typedef union data Data;

int main(int argc, char **argv)
{
    Data a;    //声明一个共同体a
    int i;
    printf("size data %d \n",sizeof(a));  //a占据空间大小

    scanf("%d",&a.a);    //输入数据,int类型的

    for (i = 0;i < sizeof(int)/sizeof(char) ; i++){
        printf("%02X ",a.c[i]);    //打印回来,X进制的方式
    }
    
    printf("\n");

    for (i = 0;i < sizeof(short int)/sizeof(char) ; i++){
        printf("%02X ",a.c[i]);    //同上
    }
    
    return 0;
}


还有小白不懂,啥是MSB和LSB?

[此贴子已经被作者于2017-1-18 17:06编辑过]

2017-01-18 17:02
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
以下是引用kin3z在2017-1-18 17:02:58的发言:

 
 
还有小白不懂,啥是MSB和LSB?

   
图片附件: 游客没有浏览图片的权限,请 登录注册

不要選我當版主
2017-01-20 12:59
kin3z
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:157
专家分:390
注 册:2011-4-24
收藏
得分:0 
回复 13楼 wube
哦,谢谢,原来是大小端的存放问题
2017-01-20 13:46
快速回复:有三个功能请求高手能提供点意见
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022261 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved