- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是C++的初学者,对转换有疑问。将int转换为char值时,如果在ASCII表上超过127,会发生什么?
例如,
using namespace std;
int main()
{
double d = 0;
while (cin>>d){
int i = d;
char c = i;
int i2 = c;
cout<<"d=="<<d<<endl;
cout<<"i=="<<i<<endl;
cout<<"c=="<<c<<endl;
cout<<"i2=="<<i2<<endl;
cout<<"char:("<<c<<")"<<endl;
}
}
最佳答案
How does “narrowing” work when converting int to char in C++?
int
的物理表现形式-它是一个索引卡,上面标有八个方框,我们可以在每个方框中写一位。也许这些自动光学系统之一会读取它,但是无论如何我们都不允许在那儿挤更多的数字或在盒子外面写东西。
char
-它上面有两个框。
char
卡在物理上也可以更窄,以使类推真正生效,但是重要的是您只能写两位数字。
int
卡可以存储0-99,999,999,而
char
可以存储0-99。
int
的
123
卡,并要求您将值复制到
char
卡上。你能做什么?您可以舍弃不适合的几百位数,而只需编写
23
即可。或者,我想您可以吓一跳并拒绝。通常,我们希望计算机做前者。
char
太小(狭窄),无法容纳
int
可以包含的所有信息。
int
和
char
类型,我们可以使用二进制(在这种情况下,我们只能使用数字
0
和
1
,并且
int
卡有32个盒子,而
char
卡有8个盒子),或者我们可以离开如果我们以16为底而不是10为底,则我们的索引卡大小相同。
int
是带符号的,这会带来进一步的复杂性,因此我们也需要用固定的位数来表示负值。
char
可以是有符号的或无符号的-它取决于实现。如果您有兴趣,可以查找二进制补码,这是存储有符号值的最常用方法,但是通常可以存储的值的一半将为负数。
关于c++ - 在C++中将int转换为char时 “narrowing”如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61031845/
我想在一个函数中包含一个限制语句,该函数测试在使用 org-narrow-to-subtree 之后缓冲区是否已经缩小到子树。谁能与我分享如何测试收窄条件是否有效?类似于 narrowp。 编辑:我在
static int var[2] __attribute__ ((aligned (8))) = { 0x0255cfa8, 0xfdfcddfc }; 为什么我收到警告:narro
我想做一个像mcmaster.com网站那样的侧边栏菜单。它允许您动态缩小产品范围并切换选项。正如您在图像中看到的,当选择“公制”选项时,所有页面都会根据基于公制的产品、侧边栏以及整个页面进行更改。有
我们阅读了 git narrow clones .假设我们想在极端情况下使用这个新功能最小带宽从大量远程存储库编辑一个文件并推回我们的提交。 唯一的例子是 git clone --no-checkou
我是C++的初学者,对转换有疑问。将int转换为char值时,如果在ASCII表上超过127,会发生什么? 例如, using namespace std; int main() { double d
(Postgres 8.3) 我正在使用 X 100 多列宽的数据库表(遗憾的是我无法更改),其中许多列会通过正常的业务流程不断且非常频繁地更新。 我需要根据异常业务流程更新的 X 中特定列 foo
我想对此进行过滤,以便最终返回的列表中仅包含平均数量大于 350 的部件(因此部件 P3、P4 和 P6)。我尝试使用 *SELECT """"WHERE AVG(spjandq.qty)>350 I
我正在尝试从 sourceforge 编译 hosts3d,它确实编译但生成了几个缩小错误。我不知道如何解决这个问题,但我们将不胜感激任何帮助。我怀疑我可以下载以前版本的编译器,我可能最终会这样做,但
C++ Core Guidelines有一个 narrow如果类型转换更改值,则抛出。看着 microsoft implementation图书馆: // narrow() : a checked v
问题: 我的导航栏看起来一点都不像 http://jquerymobile.com/test/docs/toolbars/footer-persist-a.html 中示例中的导航栏 我做错了什么/有
假设我有一个类型族,我在基本类型中定义了一组方法: interface Foo { Foo a(); Foo b(); ... } 并且Bar扩展了Foo interface Bar
我在我的应用程序中使用此字体时遇到问题。我已经在我的资源中导入了 Arial-Narrow.ttf 文件,并且还在 info.plist 中添加了名称,如下所示 UIAppFonts Ari
假设我有一段 HTML 的结构如下: Loooooooooooooong Short Meeeedium ...我想利用 CSS 获得
我一直在为一个学校元素编码,我遇到了这个问题,我想要一个标题而不是宽泛的标题。我是 Stack Overflow 的新手,我希望我不是在问一个非常愚蠢的问题,但我在事先搜索时没有找到答案。 我的代码是
我正在查看 Bootstrap 站点示例 http://getbootstrap.com/examples/jumbotron-narrow/#当我将鼠标悬停在“关于”或“联系”链接上时,文本周围会出
我正在尝试编写一个简单的无状态 session bean,但我在查找时间中给出的窄引用有问题。我得到了 class cast exeption 我用 eclipse IDE 我的 bean 类 pac
我尝试在启用 gcc 和 C++11 的情况下编译以下代码: unsigned int id = 100; unsigned char array[] = { id % 3, id % 5 }; 我收
#main{ margin-left: auto; margin-right: auto; margin-top: 0; font-family: "Arial Narrow"; position
g++ 4.9.0-O2 -std=c++11 template struct vec3 { T x, y, z; vec3() = default; vec3(const v
我正在使用 prettyprinter 图书馆到prettyprint foo(bar, baz) ,当边距太窄时,我希望它看起来像: foo( bar, baz) 我怎么做? 到目前为止我最
我是一名优秀的程序员,十分优秀!