| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1334 人关注过本帖
标题:内存中信息原样输出.怎么实现呢?
只看楼主 加入收藏
ly611919
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-5-18
收藏
 问题点数:0 回复次数:9 
内存中信息原样输出.怎么实现呢?

我希望内存中信息原样输出.怎么实现呢?
eg:
int i = 65;
在内存中存放形式为:000001 000001
我希望我从内存中直接得到000001 000001.因为我需要对这些二进制串进行重新编码.

怎么实现呢?

搜索更多相关主题的帖子: 内存 原样 输出 
2007-05-18 15:32
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
&

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2007-05-18 17:12
ibiancheng
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2007-4-3
收藏
得分:0 
楼上说的是用“按位与--&”运算吗?

执著的信念,坚定的自信,勤奋的努力才是通向成功的捷径! !!
2007-05-19 01:02
The_God
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-5-18
收藏
得分:0 
传说中的取地址符"&"

知我者谓我心忧,不知我者谓我何求.
2007-05-19 01:06
ly611919
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-5-18
收藏
得分:0 

楼上几位都没有抓住我所问问题的核心.
问题的关键不是在于我要对二进制操作
对二进制操作很简单
c里面已有明确说明.(即:对位操作的部分)
我的问题关键在于怎么把内存中某一块二进制数据已二进制的形式读出来,
也就是说:
我希望读出来之后是和内存中形式完全一样的二进制形式.

我现在已经知道怎么来处理了.
对于内存来说
它的存取最小单位就是一个字节
所以可以逐个字节取出来后
再自己对字节进行转化得到其二进制形式.

2007-05-19 09:47
yinlenc
Rank: 1
等 级:新手上路
帖 子:147
专家分:0
注 册:2007-5-17
收藏
得分:0 

#include<stdio.h>
main()
{
int a=65;

printf("a=%p\n",&a);
}//在内存的地址


2007-05-19 10:22
shuaiye
Rank: 1
等 级:新手上路
帖 子:445
专家分:0
注 册:2006-5-15
收藏
得分:0 
[QUOTE]

#include<stdio.h>
main()
{
int a=65;

printf("a=%p\n",&a)[/QUOTE]

人家要的是在内存中数据的表示形式,不是变量地址。

可以直接用调试器查看



由于工作,N久都没来了!
2007-05-19 10:29
acmilann
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-5-13
收藏
得分:0 
只能自己转换呀.

学习编程的秘诀是:编程,编程,再编程
2007-05-19 15:49
emyhello
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-1-3
收藏
得分:0 

#include <stdio.h>

main()
{
unsigned long i;
int j,k;
unsigned char *Ptr,temp,temp1;
for (i=0;i<65536;i++)
{
Ptr=(char *)i;
temp=*Ptr;
k=128;
for (j=1;j<9;j++)
{temp1=temp/k;
temp=temp-temp1*k;
k=k/2;
printf ("%d",temp1);
}
printf ("%5d",*Ptr);
printf ("\n");
getch();
}
getch();
}


需要指定地址时,只需将FOR语句换为Scanf语句。

[此贴子已经被作者于2007-5-19 17:15:43编辑过]

2007-05-19 17:02
jiangzw625
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2006-3-27
收藏
得分:0 

过去写的
这个程序能显示任何类型的内存单元的01码

#include <iostream>
using namespace std;

template <typename OStream,typename T1>
void GetBinary(OStream outs,T1& in)
{
T1 data = in;
unsigned char c = 1<<7,j = 0,k;
const unsigned char* p = (unsigned char*)&data+sizeof(data)-1;//转到高地址

for(int i = 0 ;i<sizeof(data);++i,--p)
{
c = 1<<7;
for(j = 0;j<8;j++)
{
k = *p & c;
k>>=(7-j);
c>>=1;
outs<<(unsigned int)k;
}
outs<<endl;
}
}

class Mem
{
private:
double aaa;
char c;
public:
Mem(){aaa = 0;}
};

void main()
{
float i = -0.5f;
Mem m;
GetBinary(cout,i);
cout<<endl;
GetBinary(cout,m);
}


马马乎乎
2007-05-19 22:10
快速回复:内存中信息原样输出.怎么实现呢?
数据加载中...
 
   



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

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