#include <iostream.h>int main()
{
unsigned int str[5];// printf("%d", sizeof(int));
str[0] = 0x44004241; // 'A'的ASCII码是41
str[1] = 0;
str[2] = 0;
str[3] = 0;
str[4] = 0;
/*
unsigned char *pCh = NULL;
pCh = (unsigned char *)str;
cout << *pCh << endl;
*/
printf("%s", str); // 结果是AB
getchar();
return 0;
}
{
unsigned int str[5];// printf("%d", sizeof(int));
str[0] = 0x44004241; // 'A'的ASCII码是41
str[1] = 0;
str[2] = 0;
str[3] = 0;
str[4] = 0;
/*
unsigned char *pCh = NULL;
pCh = (unsigned char *)str;
cout << *pCh << endl;
*/
printf("%s", str); // 结果是AB
getchar();
return 0;
}
解决方案 »
- 只让一个实例运行半成功
- 求助:如何在对框框界面上实现按下不同的按键,在固定区域显示不同的内容
- 服务器程序为何接收不到空格
- 关于DLL中使用data_seg导出共享数据的问题
- 功能强劲的3d编辑器。
- 在程序中如何更改Internet临时文件的路径?
- 线程通讯的简单问题。
- FTP客户发送"LIST \r\n"命令后如何得到接收数据中的文件名?
- 请在网络传输方面有经验的朋友给点建议
- RegSetValueEx修改注册表怎么将一个网卡绑定多个地址【XPE系统】
- 请问各位大侠,USB设备的安全删除与缷载有何区别?如何实现USB的缷载?
- 为什么用CSocket创建的UDP方式的Socket不能在不同局域网之间发送?
有么有详细一点的解释哦我求知望也强耶
当初intel设计他们的cpu就这么定的,当然也有cpu不是这样的,比如Motolora的。
他为什么这么设计,就不知道了。
这样当汇编代码是
mov al,byte ptr [1234h]
adc cl,al
的代码就可以很自然地升级为
mov ax,word ptr [1234h]
adc cx,dx
因为在做了操作字对齐以后原来代码中数据段的1234这个地址的数据高位为0,保留了兼容。
还有一些基于栈跳转的技巧更是byte必争。所以intel的字节序就这么定下来了