我是一名有用的助手,可以为您翻译文本。
我正在阅读John Regehr的博客,了解他如何给他的学生分配关于饱和算术的任务。有趣的部分在于代码必须按原样编译,同时使用typedef来指定不同的整数类型,参见以下完整标题摘录:
我正在阅读John Regehr的博客,了解他如何给他的学生分配关于饱和算术的任务。有趣的部分在于代码必须按原样编译,同时使用typedef来指定不同的整数类型,参见以下完整标题摘录:
typedef signed int mysint;
//typedef signed long int mysint;
mysint sat_signed_add (mysint, mysint);
mysint sat_signed_sub (mysint, mysint);
相应的无符号版本很容易实现(尽管我实际上不确定填充位是否会使它也变得棘手),但我实际上不知道如何在C中获取未知有符号类型的最大(或最小)值,而不使用MAX_
和MIN_
宏或导致未定义的行为。
我错过了什么,还是这个任务有缺陷(或更可能是我错过了他给学生的一些关键信息)?