标题:小女子在这问一个关于进制的问题,谢谢大大
只看楼主
小柴爱爸爸
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-3-12
 问题点数:0 回复次数:17 
小女子在这问一个关于进制的问题,谢谢大大
想把一个整数转换成16进制,再两两组合放入一个整型数组指定位置中,请问有什么办法?

例如int n=32164143;对应16进制是01 EA C9 2F,放进整型数组中表示如下:
int send[1024]={0x7E,0x02,0x00,0x01,0x53........0x01,0xEA,0xC9,0x2F........0x7E};


不知道该怎么解决了,望大家能给点思路。
(其实我最疑惑的是不管什么进制,只是表示形式不一样而已,所以这样转换我就没有头绪了)
搜索更多相关主题的帖子: 小女子 
2015-03-12 22:24
小柴爱爸爸
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-3-12
得分:0 
新手报到,多多见谅!
2015-03-12 22:25
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
得分:0 
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void) {
    int i = 0, j = 0, n = 32164143, a[40];
    char num[81] = {0}, tmp[81] = {0}, str[3] = {0}, *end, *p;
    sprintf(tmp, "%X", n);

    if(strlen(tmp) % 2 != 0) sprintf(num, "%d", 0);

    strcat(num, tmp);

    for(p = num; *p != 0; p += 2) {
        sscanf(p, "%2s", str);
        a[i++] = strtol(str, &end, 16);
    }

    j = i;

    for(i = 0; i < j; i++) printf("0X%02X ", a[i]);

    puts("");
    return 0;
}

Only the Code Tells the Truth             K.I.S.S
2015-03-12 22:47
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
得分:0 
你非要用int数组的话,在显示时用16进制显示(printf("%x",n))即可,无需转换。按你的需求,你只需要将一个int数据拆分成两个int数即可,算法很简单,假设数据n拆分则高位=n/65536,低位=n%65536.

能编个毛线衣吗?
2015-03-12 22:48
afanihao
Rank: 2
等 级:论坛游民
威 望:1
帖 子:62
专家分:99
注 册:2015-3-13
得分:0 
参考《C/C++学习指南》 http://www. 的第2章,2.1节  / 第3章 3.2.3节
你首先得理解何为整数,整数就是4个字节组成的!

// 把32位的int转成4个连续的字节
void copy(unsigned char* buf, unsigned int n)
{
    buf[0] = n >> 24;
    buf[1] = n >> 16;
    buf[2] = n >> 8;
    buf[3] = n;
}
void main()
{
    unsigned char buf[1024];
    unsigned int n = 32164143;
    copy(buf + 100, n);
}
2015-03-13 09:19
小柴爱爸爸
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-3-12
得分:0 
回复 3楼 longwu9t
我消化一下

[ 本帖最后由 小柴爱爸爸 于 2015-3-13 10:42 编辑 ]
2015-03-13 10:40
小柴爱爸爸
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-3-12
得分:0 
回复 5楼 afanihao
谢谢,你的意思我不太懂,章节对吗?

[ 本帖最后由 小柴爱爸爸 于 2015-3-13 13:53 编辑 ]
2015-03-13 13:47
afanihao
Rank: 2
等 级:论坛游民
威 望:1
帖 子:62
专家分:99
注 册:2015-3-13
得分:0 
章节是对的,这个概念既基础,又重要,所以我第3章就开始铺垫了。
看以下章节:
  3.2.3,变量的内存视图
  6.8 移位操作
  附录 《VC2008调试方法》
 
我力求每个人都能很容易的看懂,如果你看不懂,告诉我。
 
 
以下是引用小柴爱爸爸在2015-3-13 13:47:03的发言:
 
谢谢,你的意思我不太懂,章节对吗?

2015-03-13 15:49
afanihao
Rank: 2
等 级:论坛游民
威 望:1
帖 子:62
专家分:99
注 册:2015-3-13
得分:0 
http://blog.
写了一个博客,想必是绝无问题了吧,呵呵
2015-03-13 17:17
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
樓主的問題本身就不是問題,計算機中存儲的數値本來就是你所需的數組,衹不過不同的機器有不同的順序解讀而已。

授人以渔,不授人以鱼。
2015-03-13 20:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-442584-1-1.html




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

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