【发布时间】:2011-11-04 21:39:56
【问题描述】:
我有一个要转换为 int 的 char 字节。基本上,我使用 fopen 命令从文件中获取值(即 0x13)并将其存储到一个名为 buff 的字符缓冲区中。
我正在做以下事情:
//assume buff[17] = 0x13
v->infoFrameSize = (int)buff[17] * ( 128^0 );
infoFrameSize 是一种 int 类型,存储在名为“v”的结构中。
我为 v->infoFrameSize 得到的值是 0x00000980。这应该是 0x00000013 吗?
我尝试取出 乘以 128 ^ 0 并得到正确的输出:
v->infoFrameSize = 0x00000013
任何关于这里发生的事情的信息或建议的阅读材料都会很棒。谢谢!
【问题讨论】:
-
你的问题毫无意义。
-
我无法想象在我最疯狂的梦想中 (1) 你认为
128^0的结果是什么,以及 (2) 你为什么乘以那个值,然后不高兴你的结果是不是原来的号码。 -
即使
^表示求幂,128^0也不会是1? -
您为什么不能将您的
char分配给int? -
你期望乘以
(128^0)做什么?
标签: c