Ada-关于“ mod 64”类型定义的编译器警告

问题描述 投票:0回答:1

我需要一个模块化的整数类型,其有效值在0到63之间(含0和63)。如...

type Mix_Byte is mod 64;

这确实可以按预期进行编译和运行,但是编译器有助于我将注意力转移到我这方面可能的疏忽上...

warning: 2 ** 64 may have been intended here

碰巧的是我根本不打算这样做,但是很高兴知道编译器正在监视中:)

似乎只对值32或64发出此警告,但对值8,16或128却不发出警告。我知道32和64是常见的整数大小,在这种情况下2 ** n才有意义。

我如何针对这个特定实例使这个特定的编译器警告静音(如果我在其他地方犯了真正的错误,我想在整个项目中全局允许它)。

我想我可以不同地表达代码,以便更准确地表达我的意思?

我需要一个模块化的整数类型,其有效值在0到63之间(含0和63)。如...类型Mix_Byte是mod 64;这确实可以按预期进行编译和工作,但是编译器可以帮助绘制我的...

types syntax ada
1个回答
1
投票

您可以尝试将其写成两个的幂:

© www.soinside.com 2019 - 2024. All rights reserved.