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



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

  

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

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

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

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

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

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




  

相关话题

  编程教育以后会成为一门通识教育吗? 
  面对对象程序设计中return不能多次使用并且switch最好不用的说法是对的吗? 
  这个如此诡异的C语言「怪事」是怎么回事? 
  如果中国一开始就禁止微软和英特尔AMD进入中国大陆地区,现在的中国大陆地区会出现哪些现象? 
  C 语言这些宏定义前面的 __extension__ 是什么意思? 
  做控制、机器人等算法工程师是怎样一种体验? 
  室友打了二十行代码,有三十个错误,他还适合编程吗? 
  同是主流操作系统,为什么macOS没有盗版系统而Windows到处是盗版? 
  凭兴趣自学编程能成为大牛吗? 
  计算机系应届生参加校招屡屡碰壁,请问像我这样条件的应届生算什么水平? 

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





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