比特移位,右移4个比特

  • 本文关键字:右移 4个 c
  • 更新时间 :
  • 英文 :


所以我正在为C 进行位移位

00001010>>4不应该给予0000000?

因为我把比特向右移了4次,这和除以4是一样的。但我的笔记上写着10101000笔记错了吗?

每次移位都等于将值除以2。向右移动四次就像除以2四次。这是整数数学,所以任何分数部分都会被截断。

假设00001010(10(是二进制记数法,结果如下:

班次1:00000101(5(
班次2:00000010(2(
班次3:00000001(1(
班次4:00000000(0(

所以结果确实是0。

您的笔记有误。printf("%dn", strtol("00001010", 0, 2) >> 4)产生"0"。

右移00001010bin(10 dec(4次确实会得到:00000000bin(0 dec(而左移4次:00001010 bin(10 dec(将给你:10100000 bin(160 dec编辑(

最新更新