百科问答小站 logo
百科问答小站 font logo



我试图用 C 语言的共用体来实现 Base64 编码,为什么失败了? 第1页

  

user avatar   yang-leonier 网友的相关建议: 
      

用了好几个编译器,结果都是33 9 54 24.

应该就像下面答案用反汇编看的,位域和一般结构体成员在内存中分布不同,会自动按照当前字节序排列而导致错误。

直接把两个结构体改为d, c, b, a的顺序就对了。

位域这个东西是依赖于实现的,一般情况下都不怎么推荐用。

你这个问题在StackOverflow有人回答过了。




  

相关话题

  为什么很多IDE无论写一个多么小的程序都一定要创建一个project? 
  有什么像a=a+b;b=a-b;a=a-b;这样的算法或者知识? 
  编程那么难,为什么不弄一个大众一学就会的计算机语言呢? 
  制作一个P社游戏的流程是怎样的? 
  为什么现在有很多人,甚至大学授课还在坚持 VC 6? 
  GB2312及其扩展标准和Unicode之间有什么区别和优劣势? 
  C#里面将对象实例赋值为null会否加速GC释放资源? 
  开源代码里某个函数很长,这种代码能否认为是好的? 
  谭浩强在程序员圈子里的口碑如何?为什么? 
  为什么要有指针? 

前一个讨论
日本08年经融危机是怎么解决的?
下一个讨论
如何看待漫画《进击的巨人》最终话「加页」部分的情报?





© 2025-01-31 - tinynew.org. All Rights Reserved.
© 2025-01-31 - tinynew.org. 保留所有权利