Byte C++;输出一个字节

Byte C++;输出一个字节,byte,output,bit-shift,putchar,Byte,Output,Bit Shift,Putchar,从教科书: 所以我知道一个字节有8位,右边的移位将零位加到左边,然后从右边弹出位。 但是如何使用上面的示例来输出一个字节呢? 我本以为: putchar(b >> 8) putchar(b >> 7) putchar(b >> 6) etc. 因为我假设putchar输出弹出位?putchar打印与给定整数对应的ascii字符 putchar(0x41)将整数0x41转换为无符号字符(大小为一个字节),并打印出与0x41对应的ascii字符(即“a”) 这

从教科书:

所以我知道一个字节有8位,右边的移位将零位加到左边,然后从右边弹出位。 但是如何使用上面的示例来输出一个字节呢? 我本以为:

putchar(b >> 8)
putchar(b >> 7)
putchar(b >> 6)
etc.

因为我假设putchar输出弹出位?

putchar打印与给定整数对应的ascii字符

putchar(0x41)
将整数0x41转换为
无符号字符
(大小为一个字节),并打印出与0x41对应的ascii字符(即“a”)

这里要了解的关键是putchar只查看较低的8位,即
putchar(0x41)
putchar(0xFFFF41)
执行相同的操作

现在,让我们看看当您将某些内容传递给上面的函数时会发生什么

outbyte(0x41424344)

首先,它将b移位24位,然后对该值调用putchar
0x41424344噢,所以教科书在最后一次putchar调用中出错了。