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



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

  

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

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

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

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

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

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




  

相关话题

  程序员应该如何优雅地关闭电脑? 
  java为什么不支持泛型数组? 
  为什么有人说弄懂了《算法导论》的 90%,就超越了 90%的程序员? 
  为什么我写的c语言三个数求最大值,最后出来的结果总是第一个? 
  Unicode 和 UTF-8 有什么区别? 
  12 岁如何入门 iOS 编程? 
  一行 Python 能实现什么丧心病狂的功能? 
  怎么看c#排行飙这么高? 
  长得丑的女程序员如何向男程序员讨教如何写代码? 
  PHP的未来在哪? 

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





© 2025-05-30 - tinynew.org. All Rights Reserved.
© 2025-05-30 - tinynew.org. 保留所有权利