gpt4 book ai didi

c++ - turbo c 中的二进制表示

转载 作者:太空宇宙 更新时间:2023-11-03 10:46:37 25 4
gpt4 key购买 nike

我有一个非常基本的查询。对于以下代码:

int i = -1;
unsigned int j = (unsigned int) i;
printf("%d",j); // I get 65535 the int limit in turbo C 16 bit compiler

它不应该简单地去掉负号还是绕过限制?

最佳答案

最常用于表示负数的方案称为 Two's Complement .在此方案中,-1 具有所有 1 位的位模式:1111 1111 1111 1111。当被解释为一个无符号整数时,这就是你的 Actor 的意思,那就是 65535。

换句话说,它确实“简单地删除了负号”,只不过这样做的效果与您预期的不同。

关于c++ - turbo c 中的二进制表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20026442/

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