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



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

  

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

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

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

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

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

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




  

相关话题

  float类型的设计是否存在问题? 
  为什么GCC的版本号增速比以前快这么多? 
  程序员到底有多累、多辛苦? 
  如果C语言程序在一台电脑上可以运行,到另外一台就运行出问题是什么原因? 
  c语言0xFFFF换成十进制不应该是65535吗? 
  如果中国一开始就禁止微软和英特尔AMD进入中国大陆地区,现在的中国大陆地区会出现哪些现象? 
  突然想开一家程序员主题的餐馆,名字就叫程序员的菜,菜名就叫各种语言中的关键字,各位指点一哈,有前途没? 
  一个关于拓扑排序的扩展问题,可以做到的最优复杂度是? 
  什么时候用C而不用C++? 
  刚上大一,C 语言压根听不懂怎么办? 

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





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