C语言使用联合体将长整形数据的高字节和低字节拆分并且输出结果的程序

2025-03-13 01:55:17
推荐回答(2个)
回答1:

C语言中的“整形和长整型都占四个字节”这说法不贴切。早期的C编译平台下分别是2和4字节。随着编译平台版本的升级,现在二者都是4字节,short是2字节。另外整型数的字长与CPU的字长没有密切关系:早期的int是2字节,但那时的CPU也已经是32位的了;再者你把现在4字节int编译平台安装在64位CPU机上去,同样只能编译4字节int的代码,并不因为CPU成8字节了,你代码中的int也成8字节了。还有C中没有byte这个类型,它是C++的……

回答2:

当一个数据超过8位的时候就必须采用两个或多个字节进行存储,例如int类型是16位的数据类型,那么十进制数字256就分为两个字节进行存储0x01ff,其中高字节就是0x01,低字节就是0xff。存储的时候应该是高字节在内存的低地址,低字节在内存的高地址