1. 首页
  2. 编程语言
  3. C
  4. C++中int类型按字节打印输出的方法

C++中int类型按字节打印输出的方法

上传者: 2021-08-04 05:46:08上传 PDF文件 67.42 KB 热度 17次

今天在项目编程中,遇到一个问题,u32类型的参数,要赋值给一个u8 array[3],想用memcpy()函数进行赋值,由于类型大小不一致,一时不知道怎么做,经过查找,得以解决。类似主题是int类型按字节打印数据,sizeof实验验证后为4字节,就分别打印出这4个字节中的数值。char变量为一个字节,8bit,sighed char表示的范围是-128~127,,unsighed char表示的范围是0~255.给 i 赋值128,十六进制0x80,二进制1000 0000,相当于是给char变量赋值-128.printf()函数的参数%x其含义为Unsigned hexadecimal integer;即输出一个十六进制的整型,而在代码中,%x对应的是char类型,所以此时printf()函数会将char类型隐式转换为int类型。对于int类型的对象,其值为-128,则其对应的内存值是0xFFFFFF80所以,在printf()函数中,char类型隐式转换成int类型后,输出就会变成4字节的0xFFFFFF80

用户评论