C ++ limits.h定义

时间:2013-11-19 20:24:32

标签: c++ header cryptography

我正在用C ++学习初学密码学,并且正在研究limits.h。

请有人向我解释这段代码的作用吗?它是否定义了这些类型可以容纳的二进制数? 具体来说,什么是0xffu?

enter image description here

对不起,对于垃圾标题。

4 个答案:

答案 0 :(得分:2)

这些只是定义了unsigned charunsigned shortunsigned intunsigned long int中可以存储的最大值。 0xffU表示十六进制值FFU后缀表示该文字明确无符号。

答案 1 :(得分:1)

U用于表示unsigned常量。没有它,您可能会收到警告,例如“int”范围之外的值。

答案 2 :(得分:1)

它定义了它可以存储的最大数值。

所以unsigned char可以存储2 ^ 8-1。

答案 3 :(得分:1)

0xffu是十六进制表示法中的数字255,定义为编译器被解释为无符号。

these_MAX定义意味着这是数据类型在发生溢出之前可以保存的最大值。

unsigned char myChar = 0xFFu;
myChar += 1;
printf("%i", myChar);

将打印

0

此处的其他无符号数据类型相同。

也许你的问题可以被理解为“如果我改变这个怎么办?”。不,它没有定义最大数量,它是一个帮助,因为程序员有最大数量的编程。如果更改此代码段,则不会更改数据类型。只是一些使用这些定义的算法会改变它们的行为(使用另一个最大值)。

如果那是您的意图,我建议不要更改这些内容。

相关问题