新手求助,负数补码问题。

b104748590 2014-05-07 12:26:36
假设当前接收到2个字节0FFE,我得到的数据就是负的61442。
float Val = 0.0f;
WORD data;
Val = (float)data;
if(data & 0x800)
{
WORD _wTmp = 0;
_wTmp = ~data;
_wTmp += 1;
Val = -(float)_wTmp;
}
如果以2的补码来表示负数,以数据为补码来表示负数呢。
求大神指点。
...全文
121 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
图灵狗 2014-05-07
  • 打赏
  • 举报
回复
-61442和0xffff0ffe是同样的数据,它的意义取决于程序员对它的理解,估计楼主是没有把类型扩展考虑进去。
引用 楼主 b104748590 的回复:
假设当前接收到2个字节0FFE,我得到的数据就是负的61442。 float Val = 0.0f; WORD data; Val = (float)data; if(data & 0x800) { WORD _wTmp = 0; _wTmp = ~data; _wTmp += 1; Val = -(float)_wTmp; } 如果以2的补码来表示负数,以数据为补码来表示负数呢。 求大神指点。
赵4老师 2014-05-07
  • 打赏
  • 举报
回复
电脑内存或文件内容只是一个一维二进制字节数组及其对应的二进制地址; 人脑才将电脑内存或文件内容中的这个一维二进制字节数组及其对应的二进制地址的某些部分看成是整数、有符号数/无符号数、浮点数、复数、英文字母、阿拉伯数字、中文/韩文/法文……字符/字符串、汇编指令、函数、函数参数、堆、栈、数组、指针、数组指针、指针数组、数组的数组、指针的指针、二维数组、字符点阵、字符笔画的坐标、黑白二值图片、灰度图片、彩色图片、录音、视频、指纹信息、身份证信息……

65,208

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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