gpt4 book ai didi

c - 由于位溢出表示为 -1?

转载 作者:太空宇宙 更新时间:2023-11-04 00:20:06 24 4
gpt4 key购买 nike

<分区>

嘿,我想弄清楚为什么 -1 << 4 (左)类次是 FFF0在浏览和阅读网络后,我开始知道“负”数字有一个符号位,即 1。所以只是因为 "-1"将意味着额外的 1位即 (33) 位,这是不可能的,这就是我们考虑 -1 的原因作为1111 1111 1111 1111 1111 1111 1111 1111

例如:-

#include<stdio.h>
void main()
{
printf("%x",-1<<4);
}

在这个例子中我们知道——

Internal representation of -1 is all 1’s 1111 1111 1111 1111 1111 1111 1111 1111 in an 32 bit compiler.
When we bitwise shift negative number by 4 bits to left least significant 4 bits are filled with 0’s
Format specifier %x prints specified integer value as hexadecimal format
After shifting 1111 1111 1111 1111 1111 1111 1111 0000 = FFFFFFF0 will be printed.

以上内容的来源 http://www.c4learn.com/c-programming/c-bitwise-shift-negative-number/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com