求助,关于将double型变量转换成BYTE型的问题 改大了空间一样是那个结果ch[i]的数据都是O.... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有可能是你的数据没有加上48,看一下ASCII码表,对照一下 这个程序主要是给8位灰度图象建立一个伽马变换表而且也不可能每个数据元素都是0;调试时自动窗口中显示ch的值为 0x0001f960<错误的指针>;其每个元素的值都是 CX0030:错误:无法计算表达式的值程序运行过程也没报错 ch[i]=(BYTE) (f1*256-0.5F);//反归一化//double 4个字节,你强制截断为一个字节,信息丢失。 f1*256-0.5F 的值不会超过255;我先将其转换成整型变量再转成BYTE 变量赋给ch[i]ch[i]结果依然为0;调试的时候也是以上情况,而且f1 的值也显示是无法计算表达式的值 这样,你把f1的首地址赋值给ch,看看ch[0] ---- ch[3]的值 f1是double 型浮点数将首地址直接赋值给char型指针会报错。 #include <stdio.h>#include <math.h>typedef unsigned char BYTE;void main(){ double f1; BYTE ch[256]; for(int i = 0; i < 256; i++) { f1 = (i + 0.5F) / 256 ;//归一化 f1 = pow(f1, 2.22) ;//求指数函数 ch[i] = (BYTE) (f1 * 256 - 0.5F) ;//反归一化 printf("%d\n", ch[i]); }}闲着无聊帮你测了一下,除了前几个是0,后面的都有数值所以,上面代码没有问题 还是不行主要问题是ch[i]的值总为0;我用了函数floor()来将f1取整在赋给ch[i],结果还是0; WM_LBUTTONDOWN消息如何与某个控件ID号绑定? 字符串转IHTMLDocument2怎么会打开IE? 怎样将树形列表框中信息保存到文件 界面控件多,关于调整窗口大小的问题,拜请各位高手指点。 关于消息如何传递内容的问题 昨天发一帖问个问题,未果,今天再开一帖!!换个问法~ 请问:类型库在COM组件中起什么作用 请教大虾,哪里有opengl的类可下载,好象叫作CGL 高分求解,关于点击URL的问题 如何解决获得的ini文件参数与调用GetFtpConnection的参数类型不一致 VC有没有什么涵数能判断网页是否打开 vc上如何实现实时打印功能
而且也不可能每个数据元素都是0;
调试时自动窗口中显示ch的值为 0x0001f960<错误的指针>;
其每个元素的值都是 CX0030:错误:无法计算表达式的值程序运行过程也没报错
//double 4个字节,你强制截断为一个字节,信息丢失。
我先将其转换成整型变量
再转成BYTE 变量赋给ch[i]
ch[i]结果依然为0;
调试的时候也是以上情况,而且f1 的值也显示是无法计算表达式的值
将首地址直接赋值给char型指针会报错。
#include <math.h>typedef unsigned char BYTE;void main()
{
double f1;
BYTE ch[256]; for(int i = 0; i < 256; i++)
{
f1 = (i + 0.5F) / 256 ;//归一化
f1 = pow(f1, 2.22) ;//求指数函数
ch[i] = (BYTE) (f1 * 256 - 0.5F) ;//反归一化
printf("%d\n", ch[i]);
}
}闲着无聊帮你测了一下,除了前几个是0,后面的都有数值
所以,上面代码没有问题
主要问题是ch[i]的值总为0;
我用了函数floor()来将f1取整
在赋给ch[i],结果还是0;