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



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

  

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

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

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

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

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

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




  

相关话题

  微博叫博主,贴吧叫楼主,那github叫什么主啊? 
  科技领域有没有(过)难以传世的事物? 
  怎么在事先未知将要输入数字的个数的情况下,将其全部赋值给一个数组? 
  为什么 Go 语言把类型放在后面? 
  Golang 为什么要发布一个新的字体? 
  孙卓养父母按照法律程序,已被采取相应措施,对此你怎么看? 
  如何看待 Github 对美制裁国家的账号进行限制这一行为? 
  C 语言执行 a=a++; 后,a 的值应该加一还是不变? 
  指向指针的指针的指针的指针是什么?指向指针的指针的指针的指针是什么? 
  如何评价《鸟哥的Linux私房菜》说BSD和GPL很类似以及Windows不跨处理器架构等内容? 

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





© 2025-06-18 - tinynew.org. All Rights Reserved.
© 2025-06-18 - tinynew.org. 保留所有权利